Skip to main content
 首页 » 编程设计

python之在python中使用sftp从远程机器复制文件

2025年05月04日12kerrycode

我希望能够在 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)