2
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格式文件。

4

1 回答 1

2

您将需要执行以下操作:

sftp = paramiko.SFTPClient.from_transport(transport)
for filename in sftp.listdir(filepath):
    if filename.endswith('.csv'):
        sftp.get(filename, localpath)
于 2017-02-26T04:44:26.167 回答