使用Python将所有文件从一个SFTP文件夹存档到另一个文件夹

我可以使用@Martin Prikryl所提供的以下语法,使用Boto 3从AWS S3将文件从S3成功上传到SFTP到SFTP

with sftp.open('/sftp/path/filename', 'wb') as f:
    s3.download_fileobj('mybucket', 'mykey', f)

我需要archive先将当前文件从S3上载到SFTP,然后再将当前文件从当前文件夹归档到该文件夹中

我正在尝试使用通配符,因为有时在星期一运行时,您将无法找到星期日的文件,而先前的文件是星期五的文件。因此,无论日期如何,我都希望实现以前的任何文件。

我的文件夹如下,filename_20200623.csv需要移至该ARCHIVE文件夹,然后filename_20200625.csv将上传新文件

MKT
  ABC
    ARCHIVE
    filename_20200623.csv

预期

MKT
  ABC
    ARCHIVE
      filename_20200623.csv
    filename_20200625.csv
马丁·普里克里(Martin Prikryl)

使用Connection.listdir_attr检索所有文件的清单目录中,过滤器上,那些你有兴趣,然后移动它们一个接一个的使用Connection.rename

remote_path = "/remote/path"
archive_path = "/archive/path"
for f in sftp.listdir_attr(remote_path):
    if (not stat.S_ISDIR(f.st_mode)) and f.filename.startswith('prefix'):
        remote_file_path = remote_path + "/" + f.filename
        archive_file_path = archive_path + "/" + f.filename
        print("Archiving %s to %s" % (remote_file_path, archive_file_path))
        sftp.rename(remote_file_path, archive_file_path)

对于未来的读者,谁使用的paramiko,代码将是相同的,当然除了中sftp会参考的paramikoSFTPClient,而不是pysftp,Connection类。由于ParamikoSFTPClient.listdir_attrSFTPClient.rename方法的行为与pysftp相同。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP将所有图像文件夹从一个文件夹复制到另一个文件夹

需要使用java将所有文件从一个文件夹复制到另一个文件夹

使用python将具有特定名称的文件从一个文件夹复制到另一个文件夹

将所有用户的所有ini文件从一个文件夹复制到另一个文件夹

将所有文件从一个文件夹复制到另一个

在更改时将所有文件更改从一个文件夹连续复制到另一个文件夹(Windows)

将python与mobaxterm结合使用可将25个随机文件从一个文件夹复制到另一个文件夹

将文件从一个文件夹复制到另一个文件夹

使用 Node js 将所有 .txt 文件从一个文件夹移动到另一个文件夹

IsADirectoryError:[Errno 21]是目录:'/',同时将文件从一个文件夹复制到另一个现有文件夹Python

如何使用powershell将具有不同名称的文件从一个文件夹复制到另一个文件夹?

使用python将某些文件从一个文件夹复制到另一个文件夹

使用python仅将更新/新文件从一个文件夹复制到另一个文件夹

将内容从一个文件夹复制到另一个文件夹

如何使用Python将zipfile从一个文件夹复制到另一个文件夹

将文件名末尾带有特定文本的文件从一个文件夹复制到另一个文件夹

将文件从一个文件夹复制到另一个文件夹,但每个文件之间都有间隔

根据列表将所有文件从一个文件夹移动到另一个文件夹

如何将文件/文件夹的权限和所有权从一个文件夹复制到另一个文件夹(递归)

有没有一种方法可以使用python中该文件名的子文本将文件从一个文件夹复制到另一个文件夹?

编写代码将图片从一个文件夹复制到另一个文件夹,但目标文件夹为空

如何使用Powershell将文件从一个文件夹复制并重命名到另一个文件夹?

如何使用Java API将文件从一个HDFS文件夹复制到另一个HDFS文件夹?

使用过滤器将文件从一个文件夹复制到另一个文件夹

如何使用Java将文件从一个文件夹复制到另一个文件夹?

使用Shell脚本将文件从一个文件夹复制到另一个文件夹

如何使用PowerShell仅将新文件从一个文件夹复制到另一个文件夹

使用Shutil将文件从一个文件夹复制到另一个文件夹

使用 robocopy 将 zip 文件从一个文件夹复制到另一个文件夹的语法问题