我希望能够在 python 中使用 scp、ssh 或 sftp 从远程机器复制文件。我发现的最佳方法是将 ssh 与 sftp 结合使用。我一直在尝试使用这个示例来完成我需要做的事情。
import paramiko
import os
paramiko.util.log_to_file('logfile.log')
host = "101.102.103.104"
port = 22
transport = paramiko.Transport((host, port))
password = "pass"
username = "user"
sftp = paramiko.SFTPClient.from_transport(transport)
filepath = '~/remote/file'
localpath = '~/local/file'
sftp.get(filepath, localpath)
sftp.close()
transport.close()
当我这样做时,我收到此错误:
Traceback (most recent call last):
File "example.py", line 19, in <module>
sftp.get(filepath, localpath)
AttributeError: 'NoneType' object has no attribute 'get'
有什么我遗漏或没有做正确的事吗?
谢谢
最佳答案
您的用户名和密码已初始化但从未使用过。您需要为您的传输对象调用connect
password = "pass"
username = "user"
transport.connect(username = username, password = password)
关于python - 在python中使用sftp从远程机器复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11157789/