关于如何使用Python-ftplib(例如How to move and replace files from FTP folder to another folder in same FTP)将文件从一个位置移动到另一个位置,我遇到了各种各样的答案。我正在尝试将整个文件夹(包括所有子文件夹和文件)移动到其他位置
假设我有一个文件夹/FromPath/MoveThisFolder
,这个文件夹可以有未知数量的子文件夹和文件,即/FromPath/MoveThisFolder/A
和/FromPath/MoveThisFolder/B
,它们都包含文件等
我想把MoveThisFolder
移到/ToPath
,这样我就得到了/ToPath/MoveThisFolder
,所有包含的子文件夹和文件都移到了/FromPath/MoveThisFolder
中,不再存在了
我怎样才能做到这一点
据我所知,根据Python文档,ftp.rename
表示文件:
FTP.rename(fromname, toname)
Rename file fromname on the server to toname.
如果尝试使用ftp.rename(),则会出现无法解决的错误:
ftp.rename(ftp_from_loc, ftp_to_loc)
error_perm: 550 rename: Cannot link to a file on another device.
我还尝试在基于this question的ftp.sendcmd()
中使用mv
,但出现了一个错误
ftp.sendcmd('mv ' + ftp_from_loc + ' ' + ftp_to_loc)
error_perm: 500 'MV /sourcePath/* /destinationPath/': command not understood.
(当然,我已经用虚拟名称替换了实际路径,但是我已经三次检查了路径,它们是正确的)
在大多数系统中,移动/重命名文件或文件夹没有区别。因此
FTP.rename
也可以用于目录通常不支持(通常不支持FTP)将文件(或目录)移动到另一个文件系统(仅允许另一个驱动器/设备)。看来这正是你想要的。移动到另一个文件系统并不是真正的移动,它需要复制所有文件并删除原始文件。虽然真正的移动不会复制任何数据,但它只是移动元数据
相关问题 更多 >
编程相关推荐