python - 如何使用Python将特定格式的文件从sftp复制到本地

标签 python csv sftp paramiko pysftp

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/

相关文章:

python - pandas .apply 函数是向量化的吗?

python - 你如何在 Pandas 中分离列名和它的值?

linux - SFTP获取最后创建/修改的文件

linux - 如何将文件从远程机器传输到我的电脑

git - 如何在 git-ftp 客户端上使用 sftp?

python - BSD/OS X 上的网络掩码/IP 地址查找

python - 如何将具有行数组的 Dataframe 转换为 numpy 矩阵?

python - 使用python将csv文件转换为元组列表

python - 使用 ctypes 将 c struct 传递给函数

c++ - 使用 C++ 程序输出到 .csv 文件时出现问题