ftplib - переместить файл в другой каталог? (с переименованием)
Я запускаю это:
ftps.rename(rec.path+field_name, rec.archive_path+field_name)\
print 'passed'
Чтобы переместить файл в другой каталог, мне нужно его заархивировать. Эта строка кода работает нормально, без ошибок (я также добавил проверку печати, чтобы увидеть, действительно ли она работает). Но файлы не перемещаются. Как будто ничего не случилось. Я не понимаю почему.
Также я не могу переместить файл с помощью графического интерфейса тоже. Например, я подключаюсь к ftp с помощью сетевого интерфейса Ubuntu, а затем пытаюсь вручную вырезать и вставить файл. Затем я вижу это сообщение (и индикатор выполнения): preparing to move 1 file
, но он просто исчезает и ничего не происходит. Нет ошибок, ничего.
Каталоги в ftp расположены следующим образом:
/root/
/source/
/archive/
Я пытаюсь переместить файл из source
в archive
а точнее, ftp сервер это sharefile.com (sharefileftp.com)
PS Может быть, тогда можно скопировать файл в другой каталог (в качестве обходного пути)? Кажется, я могу хотя бы вручную скопировать файл. Так что я мог бы просто скопировать его, а затем удалить один из исходного каталога
1 ответ
Вот как я это сделал.
Сначала перейдите к пункту назначения:
FTP.cwd('/home/destination/')
Затем выполните команду move (переименовать из и переименовать в):
FTP.sendcmd('RNFR ' + 'Full/Path/Source/File')
FTP.sendcmd('RNTO ' + 'filename')
Это команда FTP, которая выполняет свою работу так же, как вы используете консоль.
Я бы предположил, что вы можете зайти в пункт назначения и использовать FTP.rename таким же образом, это может быть просто проблема с разрешением или способ работы FTP.