如何根据修改日期对使用Paramiko从SFTP服务器提取的文件列表进行排序



我有这样的代码,它使用Paramiko从服务器中提取文件。如何按修改日期对这些文件进行排序?

ssh = paramiko.SSHClient()
# automatically add keys without requiring human intervention
ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
ssh.connect(sftpURL, username=sftpUser, password=sftpPass)
sftp = ssh.open_sftp()
filesInSFTP = sftp.listdir(sftpPullDirectory)
# Get only the XML and XLSX files
filesInSFTP = [file for file in filesInSFTP if file.lower().endswith(('.xml', '.xlsx'))]

使用SFTPClient.listdir_attr检索具有文件属性(包括修改时间(的列表。然后按SFTPAttributes.st_mtime字段对列表进行排序。

filesInSFTP = sftp.listdir_attr(sftpPullDirectory)
filesInSFTP.sort(key = lambda f: f.st_mtime)

相关问题:

  • 如何获取包含Linux中感兴趣的特定文件的最新文件夹,并使用Python中的Paramiko下载该文件
  • Paramiko获取排序目录列表

强制性警告:不要使用AutoAddPolicy–这样做会失去对MITM攻击的保护。有关正确的解决方案,请参阅Paramiko"未知服务器">

最新更新