pysftp与Paramiko比较

29
我有一个简单的需求,即将文件放在SFTP服务器上。我找到了pysftp和Paramiko库,它们似乎都可以实现这一点。我已经使用Paramiko开发了一个简单的应用程序,但是我找不到适当的来源来比较这两个库,以便决定哪个库更好。它们各自的优缺点是什么?
1个回答

48
pysftp是Paramiko的一个封装,具有更Python风格的接口。 pysftp接口并没有暴露出Paramiko的所有功能。另一方面,pysftp在Paramiko的基础上实现了更高级的功能,特别是递归文件传输。

pysftp自2016年以来没有更新,因此似乎是一个被放弃的项目。它在最新版本中还存在一些重要问题,但从未修复。特别是在Windows上使用时,递归传输无法正常工作。因此,在Windows上,pysftp与(维护的)Paramiko相比没有明显优势。

如果您没有任何复杂的低级需求(例如非常规的主机密钥验证方法, 代理, 高级键盘交互式认证, 设置超时时间等),使用pysftp可能更容易。另一方面,由于pysftp似乎已经停止开发,使用它进行新的开发可能不是一个好主意。

如果您需要低级功能,请使用Paramiko。

如果您既需要Paramiko的低级功能又需要pysftp的高级功能,请使用Paramiko,并检查pysftp代码以获取高级功能。或者,您还可以在以下问题的答案中找到一种完整且与平台无关的递归传输的实现方法:

通过使用pysftp Connection.sftp_client访问一些未在pysftp中公开的Paramiko功能,该函数返回底层的Paramiko SFTPClient对象。有关示例,请参见pysftp:如何更新最后修改日期


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接