Я работал весь день, пытаясь понять, как использовать модуль python ftplib
для загрузки папок, подпапок и файлов с ftp-сервера, но я мог придумать только это.
from ftplib import FTP
import sys, ftplib
sys.tracebacklimit = 0 # Does not display traceback errors
sys.stderr = "/dev/null" # Does not display Attribute errors
Host = "ftp.debian.org"
Port = 21
Username = ""
Password = ""
def MainClass():
global ftp
global con
Host
Port
ftp = FTP()
con = ftp.connect(Host, Port) # Connects to the host with the specified port
def grabfile():
source = "/debian/"
filename = "README.html"
ftp.cwd(source)
localfile = open(filename, 'wb')
ftp.retrbinary('RETR ' + filename, localfile.write)
ftp.quit()
localfile.close()
try:
MainClass()
except Exception:
print "Not Connected"
print "Check the address", Host + ":" + str(Port)
else:
print "Connected"
if ftplib.error_perm and not Username == "" and Password == "":
print "Please check your credentials\n", Username, "\n", Password
credentials = ftp.login(Username, Password)
grabfile()
Этот скрипт python загрузит файл README.html с ftp.debian.org, но я хотел бы иметь возможность загружать целые папки с файлами и подпапками в них, и я не могу понять это. Я искал разные сценарии Python, используя этот модуль, но не могу найти ни одного, который делает то, что я хочу.
Любые предложения или помощь будут очень признательны.
Примечание. Я по-прежнему хотел бы использовать Python для этой работы, но это может быть другой модуль, такой как ftputil
или любой другой.
Заранее спасибо, Алекс