当我使用此代码从FTP服务器下载zip文件时,它会被损坏。谁知道为什么?
from ftplib import FTP
import getpass
user = raw_input('Username: ')
password = getpass.getpass()
host = raw_input('Host:')
ftp = FTP(host,user,password)
ftp.retrlines('LIST')
f_file = raw_input('What is the name of the file you would like to download? ')
print 'Opening local file...'
l_file = open(f_file, 'w')
print "Getting", f_file
ftp.retrbinary('RETR ' + f_file, l_file.write)
print "Closing", f_file
l_file.close()
print 'Closing FTP connection'
ftp.close()
答案 0 :(得分:3)
这可能是因为您正在以ASCII模式而不是二进制模式编写本地副本,从而将所有0A
个字节更改为0D0A
(LF到CRLF),从而破坏二进制文件。
使用l_file = open(f_file, 'wb')
再次尝试。