4

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

4

3 回答 3

13

用循环?

编辑:在通用情况下,仅上传文件如下所示:

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'))

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

于 2009-07-10T15:48:55.483 回答
0

查看从 JSON-Call和下一个FTPlib 操作制作上传文件所需的 Python 脚本行:为什么有些上传,而有些则没有?

虽然起始位置与您的问题不同,但在第一个 url 的答案中,您会看到一个示例构造,由 ftplib 上传一个 json 文件和一个 xml 文件:查看 scriptline 024 及更多内容。

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

也适用于除 json 和 xml 之外的其他文件类型,显然在定义和实现 FTP_Upload 功能的 2 个最后部分之前具有不同的“条目”。

于 2017-02-11T13:04:37.050 回答
-3

创建一个 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

希望有帮助。

于 2009-07-10T16:49:48.340 回答