ftplib - 将文件移动到另一个目录? (带重命名)

时间:2015-08-04 14:18:20

标签: ftp file-rename ftplib sharefile

我跑了这个:

ftps.rename(rec.path+field_name, rec.archive_path+field_name)\
print 'passed'

将文件移动到另一个目录,因为我需要将其存档。这行代码运行正常,没有错误(我还添加了打印检查以查看它是否真的运行)。但文件不会移动。它没有发生任何事情。我不明白为什么。

此外,我似乎无法使用GUI移动文件。例如,我使用Ubuntu网络接口连接到ftp,然后尝试手动剪切和粘贴文件。然后我看到这条消息(和进度条):preparing to move 1 file,但它只是消失了,没有任何反应。没有错误,没有。

ftp中的目录就是这样的:

/root/
  /source/
  /archive/

我正在尝试将文件从source移至archive

确切地说,ftp服务器是sharefile.com(sharefileftp.com)

P.S。也许可以将文件复制到另一个目录(作为解决方法)?看来我至少可以手动复制文件。所以我可以复制它,然后从原始目录中删除一个

1 个答案:

答案 0 :(得分:1)

这就是我做到的。

首先转到你的目的地目录:

FTP.cwd('/home/destination/')

然后执行move(重命名并重命名为)命令:

FTP.sendcmd('RNFR ' + 'Full/Path/Source/File')
FTP.sendcmd('RNTO ' + 'filename')

这些是完成工作的FTP命令,与在控制台中使用的方式相同。

我认为你可以进入目的地并以同样的方式使用FTP.rename,它可能只是一些权限问题或FTP的设计方式。