-1

このコードを使用して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()
4

1 に答える 1

3

これはおそらく、ローカル コピーをバイナリ モードではなく ASCII モードで書き込んでいるために、すべての0Aバイトが0D0A(LF から CRLF に) 変更され、バイナリ ファイルが破損していることが原因です。

を使用して再試行してくださいl_file = open(f_file, 'wb')

于 2011-10-22T15:06:22.133 に答える