我試圖從FTP服務器上下載一個.zip文件,我不斷收到此錯誤:獲取類型錯誤試圖從FTP服務器下載.zip文件時
File "C:/filename.py", line 37, in handleDownload
file.write(block)
TypeError: descriptor 'write' requires a 'file' object but received a 'str'
這裏是我的代碼(從http://postneo.com/stories/2003/01/01/beyondTheBasicPythonFtplibExample.html借來的):
def handleDownload(block):
file.write(block)
print ".",
ftp = FTP('ftp.godaddy.com') # connect to host
ftp.login("auctions") # login to the auctions directory
print ftp.retrlines("LIST")
filename = 'auction_end_tomorrow.xml.zip'
file = open(filename, 'wb')
ftp.retrbinary('RETR ' + filename, handleDownload)
file.close()
ftp.close()
在Python 2.7上運行該代碼可成功下載文件。這是整個代碼示例嗎?我添加的所有內容都是'import'語句:'從ftplib導入FTP',並且它對我來說工作正常。 – 2012-07-14 21:50:22
被稱爲「block」的變量(有一個值,在代碼中沒有顯示)應該是一個文件對象,而不是一個字符串(相當明顯)。如果您包含更多代碼,我可能會爲您提供更多幫助。 – alexy13 2012-07-14 21:50:57