PyFilesystem2的FTP文件系统
项目描述
miarec_ftpfs
MiaRec FTPFS是PyFilesystem对FTP/FTPS存储的接口。
这是一个由Will McGugan(电子邮件willmcgugan@gmail.com)编写的PyFileSystem2项目内置FTPFS类的分支。
代码已被MiaRec团队修改以满足我们的需求。
miarec_ftpfs.FTPFS与fs.FTPFS之间的显著差异
-
需要Python 3.6+。已移除对Python 2.7的支持。
-
打开协议前缀为
mftp://
和mftps://
,分别对应FTP和FTP-over-TLS(而不是原始的ftp://
和ftps://
) -
添加隐式TLS支持
-
修复显式TLS实现中的错误
-
在出现网络问题时,自动尝试在下一次操作中重新打开FTP连接。以前,
FTPFS
对象会陷入错误状态,任何对文件系统实例的操作(如openbin()
、listdir()
等)都会无限期失败。 -
更好的错误处理。所有FTP协议特定和SSL错误都被转换为相应的
FSError
异常
安装
您可以通过以下方式使用pip安装FTPFS:
pip install miarec_ftpfs
这将安装最新稳定的版本。
或者,如果您想获取最新的代码,可以查看GitHub仓库:https://github.com/miarec/miarec_ftpfs
打开FTPFS
通过显式使用构造函数来打开FTPFS
from fs.ftpfs import FTPFS
FTPFS("demo.wftpserver.com")
或者通过FS URL
ftp_fs = fs.open_fs('mftp://test.rebex.net')
或者通过使用TLS的FS URL
ftp_fs = fs.open_fs('mftps://demo.wftpserver.com')
您还可以使用非匿名用户名,甚至可以在FS URL中使用密码
ftp_fs = FTPFS("test.rebex.net", user="demo", passwd="password")
ftp_fs = fs.open_fs('mftp://demo:password@test.rebex.net')
支持通过代理连接。如果使用FS URL,则需要将代理URL添加为URL参数
ftp_fs = FTPFS("ftp.ebi.ac.uk", proxy="test.rebex.net")
ftp_fs = fs.open_fs('mftp://ftp.ebi.ac.uk/?proxy=test.rebex.net')
测试
自动单元测试在GitHub Actions上运行
要本地运行测试,请执行以下操作。
创建Python虚拟环境
python -m vevn venv
source venv\bin\activate
安装项目和测试依赖项
pip install -e ".[test]"
运行测试
pytest
文档
项目详情
关闭
miarec_ftpfs-2024.3.1.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 064b7841ce7c21b6b8f90b60e5324193b17bd6830dcb97183716b4bf5cc56582 |
|
MD5 | c49ac402964ecc0fcbde13d998de10a2 |
|
BLAKE2b-256 | da3f67369b3ef7a82cea6ed70f46f46b65d6665743f646ee8863f150fb510274 |
关闭
miarec_ftpfs-2024.3.1-py2.py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | ea87ccc03616033d27201c8f6056f54719667c13265bd82613739d94b887d2d5 |
|
MD5 | b7ddcfb00a8c86d710d2f53d12f7738f |
|
BLAKE2b-256 | 6e13a79e1df253b0a89ab7cbaecafa0d1663b3e0f9a1b62e6dea435afe72567d |