4

私はグーグルで調べましたが、1つのファイルをアップロードする方法しか見つかりませんでした...そして、ローカルディレクトリからリモートftpディレクトリにすべてのファイルをアップロードしようとしています。これを達成する方法はありますか?

4

3 に答える 3

13

ループで?

edit : 通常、ファイルのみをアップロードする場合は次のようになります。

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 に答える
-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 に答える