Скопируйте файлы в ftp сервер Python

Я смог скопировать файлы на ftp-сервере в другое место, записав файл на веб-сервер, а затем снова загрузив его.

Есть ли способ, которым я могу записать содержимое файла в память, не записывая его на жесткий диск и загружая их на сервер. Это мой код

filepath = os.path.join(os.path.dirname(os.path.dirname(__file__)),'OpenTable','tempfiles')

ftp = ftplib.FTP('ftphost')
ftp.login('username','password')
filenames = []
ftp.retrlines('NLST', filenames.append)
for filename in filenames:

    if filename[len(filename)-3:] == 'zip':

        ftp.cwd("/")
        filepath1 = os.path.join(filepath,filename)
        print filepath1
        r = open(filepath1,'w')

        ftp.retrbinary('RETR ' + filename, r.write)
        ftp.cwd("/BackUp")
        r.close()
        r = open(filepath1,'r')

        ftp.storbinary('STOR ' + filename, r)
        r.close()
        os.remove(filepath1)
        print 'Successfully Backed up ', filename
ftp.quit()

Я пытался использовать StringIO. Это не похоже на работу.

Благодарю.

0 ответов

Другие вопросы по тегам