2011-07-24 22 views

答えて

2

ftplibライブラリのretrbinary関数は、取り出されたデータブロックごとに1回呼び出されるコールバック関数を使用します。このコールバック関数は自分で作成するため、保存先のフォルダファイルを変更することができます。

いくつかのサンプルコード:

#!/usr/bin/env python 

import sys 
from ftplib import FTP 



ftphost, file_to_retrieve, output_path = sys.argv[1:4] 

print "Retreiving %(file_to_retrieve)s from FTP host %(ftphost)s, saving to %(output_path)s" % locals() 

ftp = FTP(ftphost) 
ftp.login() 

outfile = None 
def data_callback(data): 
    global outfile 
    if outfile is None: 
     outfile = open(output_path, 'w') 

    outfile.write(data) 

ftp.retrbinary("RETR %s" % file_to_retrieve, data_callback) 

if outfile is not None: 
    outfile.close() 

ftp://ftp.sunet.se/pub/Linux/kernel.org/linux/docs/man-pages/man-pages-3.32.tar.gzを盗んと/tmp/man-pages.tar.gzとして保存し、次のようにこのコードを実行するには、次の

$ python testftp.py ftp.sunet.se /pub/Linux/kernel.org/linux/docs/man-pages/man-pages-3.32.tar.gz /tmp/man-pages.tar.gz  
+0

SEXYありがとうたくさん –

関連する問題