Как скопировать всю заархивированную папку для цели, используя ftp в python?

Я должен скопировать zip-папку с помощью ftplib следующим образом:

 ftp = FTP('ip')
 ftp.login(user='user', passwd = 'pass')
 filename=  "D:/sample.zip"
 ftp.storlines("STOR " + os.path.basename(filename), open(filename,"r"))

На удаленном компьютере папка с примерами копируется, но ее размер составляет всего 1 КБ, а на самом деле ее размер составляет 2963 КБ. Итак, не могли бы вы помочь мне, как мне скопировать всю ziped папку на пульте?

1 ответ

Во-первых, используйте storbinary() и не storlines, Последний для файлов ASCII.

А поскольку zip-файлы являются двоичными, файл следует открывать в двоичном режиме:

ftp.storbinary("STOR " + os.path.basename(filename), open(filename, "rb"))
Другие вопросы по тегам