Python ftplib - 上传多个文件?

时间:2009-07-10 15:47:31

标签: python ftplib

我用Google搜索但我只能找到如何上传一个文件...而我正在尝试将所有文​​件从本地目录上传到远程ftp目录。任何想法如何实现这一目标?

3 个答案:

答案 0 :(得分:10)

循环?

编辑:在通用案例中,只上传文件如下:

import os
for root, dirs, files in os.walk('path/to/local/dir'):
    for fname in files:
        full_fname = os.path.join(root, fname)
        ftp.storbinary('STOR remote/dir' + fname, open(full_fname, 'rb'))

显然,如果你只是保留这样的文件名,你需要注意名称冲突。

答案 1 :(得分:0)

查看Python-scriptlines required to make upload-files from JSON-Call和下一个FTPlib-operation: why some uploads, but others not?

虽然起始位置与您的问题不同,但在第一个网址的答案中,您会看到通过ftplib上传json文件和xml文件的示例构造:查看scriptline 024和进一步

在第二个网址中,您会看到与上传更多文件相关的其他方面。

同样适用于除json和xml之外的其他文件类型,显然还有一个不同的'条目'在定义和实现FTP_Upload-function的2个最后部分之前。

答案 2 :(得分:-2)

创建FTP批处理文件(包含您需要传输的文件列表)。使用python使用“-s”选项执行ftp.exe并传入文件列表。

这很糟糕,但显然FTPlib在其STOR命令中没有接受多个文件。

这是一个示例ftp批处理文件。

*

OPEN inetxxx 
myuser mypasswd 
binary 
prompt off 
cd ~/my_reg/cronjobs/k_load/incoming 
mput *.csv 
bye
  • 如果以上内容位于名为“abc.ftp”的文件中 - 那么我的ftp命令就是

    ftp -s abc.ftp

希望有所帮助。