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

Cod*_*ord 4 python sftp paramiko python-3.x

我有这段代码,可以使用 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'))]
Run Code Online (Sandbox Code Playgroud)

Mar*_*ryl 7

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

\n
filesInSFTP = sftp.listdir_attr(sftpPullDirectory)\nfilesInSFTP.sort(key = lambda f: f.st_mtime)\n
Run Code Online (Sandbox Code Playgroud)\n
\n

相关问题:

\n\n
\n

强制性警告:请勿使用\xe2\x80\x93这样做您将失去针对MITM 攻击的AutoAddPolicy保护。正确的解决方案请参见Paramiko“未知服务器”

\n