0
以下のスクリプトは、ftpディレクトリファイル内のファイルを読み取ることができますが、ダウンロードすることはできません。コマンドウィンドウに出力されたリストにはそれらが表示されるため、読んだことが分かります。ここでftpディレクトリのファイルを読み込み、ダウンロードしないスクリプト
from ftplib import FTP
import os, sys, os.path
def handleDownload(block):
file.write(block)
ddir='U:/Test Folder'
os.chdir(ddir)
ftp = FTP('sidads.colorado.edu')
ftp.login()
print ('Logging in.')
directory = '/pub/DATASETS/NOAA/G02158/unmasked/2012/04_Apr/'
print ('Changing to ' + directory)
ftp.cwd(directory)
ftp.retrlines('LIST')
print ('Accessing files')
for subdir, dirs, files in os.walk(directory):
for file in files:
full_fname = os.path.join(root, fname);
print ('Opening local file ')
ftp.retrbinary('RETR U:/Test Folder' + fname,
handleDownload,
open(full_fname, 'wb'));
print ('Closing file ' + filename)
file.close();
ftp.close()
が、1字下げが正しくありません、そして2)あなたは 'に' file.closeを() 'やっていますファイル 'は文字列オブジェクトであり、3)ローカルファイルをリストし、その中にリモートファイルの内容を書き込んでいますか?あなたのローカルファイルは、サーバ上で名目上のファイルをダウンロードする前に存在する必要がありますか?それは論理的ではありません。 –