Я собираю скрипт для загрузки всех файлов из каталога через FTP. До сих пор мне удалось подключиться и получить один файл, но я не могу заставить его работать в пакетном режиме (получить все файлы из каталога). Вот что у меня есть:
from ftplib import FTP
import os, sys, os.path
def handleDownload(block):
file.write(block)
print ".",
ddir='C:\\Data\\test\\'
os.chdir(ddir)
ftp = FTP('test1/server/')
print 'Logging in.'
ftp.login('user1\\anon', 'pswrd20')
directory = '\\data\\test\\'
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 C:\\Data\\test\\' + fname,
handleDownload,
open(full_fname, 'wb'));
print 'Closing file ' + filename
file.close();
ftp.close()
Могу поспорить, что вы можете сказать, что он мало что делает, когда я запускаю его, поэтому любые предложения по улучшению будут с благодарностью.