我正在使用python3.3.2和pysftp创建一个备份实用程序,它将文件的副本存储在网络上的另一台计算机上。在
我已经知道如何使用pysftp传输这些文件,但是我希望看到传输的进度(每秒字节数、完成百分比、剩余时间),而不是一些静态打印语句,表明传输已经开始或完成
可能是这样的(文件名:3.4MiB/s | 40%<;#
编辑:
如果我只知道如何获取pysftp的put命令来获取信息,那么我可能可以构建一个进度条,这就是我想知道的方法
编辑:
我想我在深入挖掘之后找到了另一个问题的答案:
How to see (log) file transfer progress using paramiko?
Tags:
您可以编写自己的progressbar,如果您对终端有任何了解的话,这是相当简单的。或者您可以使用^{} 。以下是文档中的一个简单示例:
在这两种情况下,您都需要文件传输方法在传输过程中产生结果。如果你能让它产生它接收到的字节,那么创建一个进度条是非常容易的。在
您可以创建一个函数,每隔10%打印一次传输:
然后可以在get或put命令中调用该函数,如下所示:
^{pr2}$示例输出为:
在两个get/put方法中都存在一个回调函数(请参见 官方documentation)
回调可以是:
^{pr2}$相关问题 更多 >
编程相关推荐