跳转到主要内容

PyFilesystem2的FTP文件系统

项目描述

miarec_ftpfs

Actions

MiaRec FTPFS是PyFilesystem对FTP/FTPS存储的接口。

这是一个由Will McGugan(电子邮件willmcgugan@gmail.com)编写的PyFileSystem2项目内置FTPFS类的分支。

代码已被MiaRec团队修改以满足我们的需求。

miarec_ftpfs.FTPFS与fs.FTPFS之间的显著差异

  1. 需要Python 3.6+。已移除对Python 2.7的支持。

  2. 打开协议前缀为mftp://mftps://,分别对应FTP和FTP-over-TLS(而不是原始的ftp://ftps://

  3. 添加隐式TLS支持

  4. 修复显式TLS实现中的错误

  5. 在出现网络问题时,自动尝试在下一次操作中重新打开FTP连接。以前,FTPFS对象会陷入错误状态,任何对文件系统实例的操作(如openbin()listdir()等)都会无限期失败。

  6. 更好的错误处理。所有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 (24.0 kB 查看散列)

上传时间

构建分发

miarec_ftpfs-2024.3.1-py2.py3-none-any.whl (17.5 kB 查看散列)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面