如何使用Paramiko从SFTP服务器仅下载最新文件?

哥萨克

我想编写连接到我的大学SFTP服务器并通过练习下载最新文件的脚本。到目前为止,我已经从Paramiko示例中更改了一些代码,但是我不知道如何下载最新文件。

这是我的代码:

import functools
import paramiko 

class AllowAnythingPolicy(paramiko.MissingHostKeyPolicy):
    def missing_host_key(self, client, hostname, key):
        return

adress = 'adress'
username = 'username'
password = 'password'

client = paramiko.SSHClient()
client.set_missing_host_key_policy(AllowAnythingPolicy())
client.connect(adress, username= username, password=password)

def my_callback(filename, bytes_so_far, bytes_total):
    print ('Transfer of %r is in progress' % filename) 

sftp = client.open_sftp()
sftp.chdir('/directory/to/file')
for filename in sorted(sftp.listdir()):
    if filename.startswith('Temat'):
        callback_for_filename = functools.partial(my_callback, filename)
        sftp.get(filename, filename, callback=callback_for_filename)

client.close() 
马丁·普里克里(Martin Prikryl)

使用SFTPClient.listdir_attr而不是SFTPClient.listdir来获得具有属性(包括文件时间戳记)的列表。

然后,找到具有最大.st_mtime属性的文件条目

代码如下:

latest = 0
latestfile = None

for fileattr in sftp.listdir_attr():
    if fileattr.filename.startswith('Temat') and fileattr.st_mtime > latest:
        latest = fileattr.st_mtime
        latestfile = fileattr.filename

if latestfile is not None:
    sftp.get(latestfile, latestfile)

有关更复杂的示例,请参见如何在Linux中获取包含感兴趣的特定文件的最新文件夹,并使用Python中的Paramiko下载该文件?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据时间戳从SFTP服务器下载最新文件

来自分类Dev

从服务器下载最新文件版本

来自分类Dev

从FTP服务器下载最新文件

来自分类Dev

使用R从ftp服务器下载最新文件

来自分类Dev

使用curl从远程服务器下载最新文件

来自分类Dev

期望脚本使用grep从远程服务器下载最新文件

来自分类Dev

使用Paramiko将新文件上传到SFTP服务器,而不必覆盖现有文件

来自分类Dev

如何使用Netbeans的FTP客户端从服务器下载新文件

来自分类Dev

Perl Net :: SFTP :: Foreign从远程服务器获取最新文件

来自分类Dev

FTP:以服务器获取最新文件

来自分类Dev

仅同步来自远程服务器的新文件

来自分类Dev

Python FTP服务器下载文件名中包含特定关键字的最新文件

来自分类Dev

使用 Python 中的 Paramiko 从远程命令列出的 SFTP 服务器下载文件

来自分类Dev

无法通过 SFTP 使用 PHP、ssh2 下载最新文件

来自分类Dev

告诉wget仅下载目录中的最新文件?

来自分类Dev

获取有关SFTP服务器上新文件的通知

来自分类Dev

从Unix中的FTP从远程服务器获取最新文件

来自分类Dev

unix ftp脚本以从服务器获取最新文件

来自分类Dev

从Unix中的FTP从远程服务器获取最新文件

来自分类Dev

Delphi Indy HTTPS从Web服务器检测到最新文件

来自分类Dev

如何使用Powershell脚本执行文件夹中的最新文件(刚刚下载)

来自分类Dev

不使用 JSch 从 SFTP 服务器下载文件

来自分类Dev

如何使用 boto 从 s3 下载最新更新文件

来自分类Dev

如何正确设置wget仅下载新文件?

来自分类Dev

使用Talend的FTP,仅获取最新文件?

来自分类Dev

在PowerShell中仅使用WinSCP下载新文件

来自分类Dev

如何在服务器中使用C#更新文件的文本框中添加更新行?

来自分类Dev

在服务器之间更新文件

来自分类Dev

如何创建目录,以便同时拥有新文件?(网络服务器)

Related 相关文章

  1. 1

    根据时间戳从SFTP服务器下载最新文件

  2. 2

    从服务器下载最新文件版本

  3. 3

    从FTP服务器下载最新文件

  4. 4

    使用R从ftp服务器下载最新文件

  5. 5

    使用curl从远程服务器下载最新文件

  6. 6

    期望脚本使用grep从远程服务器下载最新文件

  7. 7

    使用Paramiko将新文件上传到SFTP服务器,而不必覆盖现有文件

  8. 8

    如何使用Netbeans的FTP客户端从服务器下载新文件

  9. 9

    Perl Net :: SFTP :: Foreign从远程服务器获取最新文件

  10. 10

    FTP:以服务器获取最新文件

  11. 11

    仅同步来自远程服务器的新文件

  12. 12

    Python FTP服务器下载文件名中包含特定关键字的最新文件

  13. 13

    使用 Python 中的 Paramiko 从远程命令列出的 SFTP 服务器下载文件

  14. 14

    无法通过 SFTP 使用 PHP、ssh2 下载最新文件

  15. 15

    告诉wget仅下载目录中的最新文件?

  16. 16

    获取有关SFTP服务器上新文件的通知

  17. 17

    从Unix中的FTP从远程服务器获取最新文件

  18. 18

    unix ftp脚本以从服务器获取最新文件

  19. 19

    从Unix中的FTP从远程服务器获取最新文件

  20. 20

    Delphi Indy HTTPS从Web服务器检测到最新文件

  21. 21

    如何使用Powershell脚本执行文件夹中的最新文件(刚刚下载)

  22. 22

    不使用 JSch 从 SFTP 服务器下载文件

  23. 23

    如何使用 boto 从 s3 下载最新更新文件

  24. 24

    如何正确设置wget仅下载新文件?

  25. 25

    使用Talend的FTP,仅获取最新文件?

  26. 26

    在PowerShell中仅使用WinSCP下载新文件

  27. 27

    如何在服务器中使用C#更新文件的文本框中添加更新行?

  28. 28

    在服务器之间更新文件

  29. 29

    如何创建目录,以便同时拥有新文件?(网络服务器)

热门标签

归档