重新连接FTP客户端

reconnecting-ftp的Python项目详细描述


重新连接ftp

重新连接FTP提供了一个包装ftplib.ftp的FTP客户端。如果服务器是 断开连接,并记住上次录制的工作目录。

我们发现在运行了很长时间,并且需要反复迭代的脚本中,重新连接特别重要。 通过ftp服务器上的文件。

由于结果必须是原子的,我们必须将结果从 ftplib.FTP.mlsd(目录项的iterable)到目录项的显式列表。当这给你 原子性(无论您遍历什么,都将在单个连接中完成),所有目录项都需要存储 在记忆中。

此外,我们还提供了mlstftp命令的一个实现,该命令在原始^{tt3}中丢失$ 客户。

用法

importreconnecting_ftpwithreconnecting_ftp.Client(hostname="some-host.com",port=21,user="some-user",password="some-password")asftp:# change working directoryftp.cwd(dirname='/some-dir/some-subdir')# you can execute here all the commands as provided in ftplib.FTP. If the connection failed, the command will# be retried while it succeeds or the maximum number of retries haven been exhausted..# MLST the filepth,entry=ftp.mlst(filename='some-file.txt')# iterate over a directory entries atomicallyforname,entry_dictinftp.mlsd(path=parent_path):# do somethingpass

安装

  • 创建虚拟环境:
python3 -m venv venv3
  • 启动:
source venv3/bin/activate
  • 安装用pip重新连接的ftp:
pip3 install reconnecting_ftp

开发

  • 查看存储库。
  • 在存储库根目录中,创建虚拟环境:
python3 -m venv venv3
  • 激活虚拟环境:
source venv3/bin/activate
  • 安装开发依赖项:
pip3 install -e .[dev]
  • 我们提供一组预提交检查,lint和检查代码的格式并运行单元测试。在本地运行它们 从具有开发依赖关系的激活虚拟环境中:
./precommit.py
  • 预提交脚本还可以自动格式化代码:
./precommit.py  --overwrite

版本控制

我们跟着Semantic Versioning。版本x.y.z表示:

  • X是主要版本(向后不兼容),
  • y是次要版本(向后兼容),并且
  • z是修补程序版本(向后兼容的错误修复)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用jaxb2annotateplugin和XJC工具的java自定义注释   java组织。xeustechnologies。jcl无法加载WstxInputFactory类   java JUnit在格式化字符串上比较失败   java Bukkit配置部分getKeys   如何关闭Java流?   java Struts2正则表达式配置   链式事务注释的java奇怪行为   java在两个JButton之间使用变量   java签署APK时内容会发生什么变化?   java LWJGL:Slick:3D世界中的绘图字体   如何分解Java数组?   在Java MySql中处理多个过滤器   java如何在Firebase数据库中跳过初始OnChildaded事件触发   java如何在PreviewView中使用CameraX?   在子类#中重写父类后访问父类原始方法的java已解决   java找不到类型的属性   游戏框架游戏!框架+Java