Загрузка файлов с использованием ftplib в python - PullRequest
0 голосов
/ 12 февраля 2019

Используя пакет Python "ftplib", я подключаюсь к хосту, после чего отправляю двоичный файл с помощью функции "storbinary:" в этот каталог. Однако передача файла не происходит, исходный файл перезаписывается и выполняется0 байт

Попытка использования "cwd" в ftplib для перехода в каталог назначения перед загрузкой файла. Попытка 'rsync' в командной строке, которая работает нормально (таким образом, устанавливается целостность файла).

print ('Establishing FTP connection')
ftp = FTP(dest_dir, 'user', 'password')
print '+++++', ftp.pwd()   
ftp.cwd(dest_dir)
print 'work dir now', ftp.pwd() 
ftp.retrlines('LIST') 
f_name = /home/test/file_to_upload
with open(f_name, 'rb') as cfile:
    ftp.storbinary('STOR %s' % f_name, cfile)
ftp.quit()

Файл: / home / test / file_to_upload должен быть загружен в dest_dir, вместо этого он перезаписывается и также становится пустым файлом, т. Е. Содержимое файла стирается

1 Ответ

0 голосов
/ 12 февраля 2019

f_name содержит каталог вашей локальной системы.Попробуйте извлечь только имя файла.Также будьте осторожны, добавляя пробел между «STOR» и «filename»

Пример:

ftp.storbinary('STOR '+ os.path.basename(f_name), open(f_name, 'rb'))
...