import paramiko
import os
paramiko.util.log_to_file('logfile.log')
host = "100.10.89.23"
port = 22
transport = paramiko.Transport((host, port))
password = "pass"
username = "user"
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)
filepath = '/import/TMP'
localpath = 'F:\\Projects\\Test'
sftp.get(filepath, localpath)
sftp.close()
transport.close()
连接到 sftp 不需要 ftp_priv_key。
假设我在给定的 sftp 路径中有 10 个文件,其中 6 个文件为 csv 格式和其他或不同格式。我的要求是仅复制 csv
格式文件。
最佳答案
您需要执行以下操作:
sftp = paramiko.SFTPClient.from_transport(transport)
for filename in sftp.listdir(filepath):
if filename.endswith('.csv'):
sftp.get(filename, localpath)
关于python - 如何使用Python将特定格式的文件从sftp复制到本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42464703/