我已經工作了一整天試圖找出如何使用Python ftplib
模塊從FTP服務器上下載文件夾,子文件夾和文件,但我可以的所有文件夾,子文件夾和文件只有拿出這個。Python的 - 下載使用Python FTPLIB模塊
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腳本將下載從ftp.debian.org一個README.html文件,但是,我希望能夠下載整個文件夾,在其中的文件和子文件夾,我似乎無法找出答案。我使用這個模塊搜索了不同的python腳本,但我似乎無法找到任何我想要的東西。
任何建議或幫助將不勝感激。
注: 我還是想用Python做這個工作,但它可能是一個不同的模塊,如ftputil
或其他任何一個在那裏。
在此先感謝,亞歷克斯
這太有趣了,你提出這篇文章,因爲那是代碼,這對我來說沒有意義。 –
你能解釋一下這段代碼在這個帖子中做了什麼嗎?'os.mkdir(destination [0:len(destination)-1] + path)' –
'path' - 正在複製的新目錄的路徑服務器。 'directory' - 文件將被複制到的目標目錄。 所以這一行創建了路徑中的文件將被複制到的目錄 – borisp