Python SCPClient 复制进度检查

标签 python python-2.x

我是 SCPClient 模块的新手

我有复制样本作为

 with SCPClient(ssh.get_transport()) as scp:
    scp.put(source, destination)

此代码运行良好。

但是由于我是复制几个大文件,复制进度比较慢,一味的等到完成是不好的用户体验。

无论如何我可以监控它复制了多少?复制成功与否,获取结果?

SCPClient有官方文档可以看吗?

最佳答案

你看过 Github page?他们提供了如何执行此操作的示例:

from paramiko import SSHClient
from scp import SCPClient
import sys

ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('example.com')

# Define progress callback that prints the current percentage completed for the file
def progress(filename, size, sent):
    sys.stdout.write("%s\'s progress: %.2f%%   \r" % (filename, float(sent)/float(size)*100) )

# SCPCLient takes a paramiko transport and progress callback as its arguments.
scp = SCPClient(ssh.get_transport(), progress = progress)

scp.put('test.txt', '~/test.txt')
# Should now be printing the current progress of your put function.

scp.close()

关于Python SCPClient 复制进度检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49657776/

相关文章:

python - Qt 在小部件属性动画期间调整布局大小

python - 是否有 Django "app"可以管理用户的个人资料?

python - import skimage 有效,但 skimage.measure 无效

homebrew - 在 MacOS High Sierra 上通过 Homebrew 安装 Python 2 时出错

python - 将字符串中的子字符串大写

python - 如何打印在另一个 Tkinter 脚本中调用的 gui 脚本的输出?

Python:删除重复代码以在 Selenium 中重复操作

Python:根据列与列表连接列

python:如何融化保留特定顺序/自定义排序的数据框

python - 打印字符串在 Python 中的字符串之前打印 'u'?