Python FTPLIB файловой передача ошибки_Permm
Вопрос
Я пытаюсь автоматизировать тест в Python 2.7 (в Eclipse на Linux Ubuntu 12.04), и мне нужно проверить FTP-сервер следующим образом: Я должен создать файл на хосте, перенесите его на FTP на другой компьютер, а затем перенесите его обратно на мой хост под другим именем.Тогда у меня есть два файла, которые я должен сравнить.Я начал так:
#create the two files
firstFilename = "first_testfile.txt"
secondFilename = "second_testfile.txt"
os.system("echo \"test\" > {0}".format(firstFilename))
os.system("touch {0}".format(secondFilename))
#setup FTP connection transfer file to other computer
ftp = self.setupFTP()
ftp.set_pasv(True)
f = open(firstFilename)
ftp.storbinary("STOR {0} ".format(firstFilename), f)
f.close
ftp.quit()
#setup FTP connection transfer file back to host (other filename)
ftp = self.setupFTP()
ftp.set_pasv(True)
f = open(secondFilename, "wb")
ftp.retrbinary("RETR {0} ".format(secondFilename), f.write)
ftp.quit()
#comparison-part will be implemented later
firstOutput = os.system("cat {0}".format(firstFilename))
secondOutput = os.system("cat {0}".format(secondFilename))
#compare somehow
.
Выполнение этого кода дает мне следующую ошибку:
ftp.retrbinary("RETR {0} ".format(secondFilename), f.write)
error_perm: 550 second_testfile.txt : No such file or directory
.
кто-нибудь знает, что я сделал не так?
Решение
Редактировать и решить: Я нашел свою проблему, это должно быть
ftp.retrbinary("RETR {0} ".format(firstFilename), f.write)
.
вместо
ftp.retrbinary("RETR {0} ".format(secondFilename), f.write)
.
Поскольку я думал, что после того, как я должен сказать, как файл должен быть вызван (на самом деле файлHandler для этого) вместо того, как называется файл на FTP.
Не связан с StackOverflow