Python FTP ftplib将整个文件夹移动到另一个目录失败,并显示“无法链接到另一台设备上的文件”

问题描述 投票:0回答:1

关于如何使用Python ftplib(例如How to move and replace files from FTP folder to another folder in same FTP)将files从一个位置移动到另一位置,我遇到了各种答案。我正在尝试将整个文件夹(包括所有子文件夹和文件)移动到另一个位置。

假设我有一个文件夹/FromPath/MoveThisFolder,并且此文件夹中可以有未知数量的子文件夹和文件,即/FromPath/MoveThisFolder/A/FromPath/MoveThisFolder/B,它们都包含文件,等等。

我想将MoveThisFolder移到/ToPath,以便得到/ToPath/MoveThisFolder,其中所有包含的子文件夹和文件都移动了,并且不再存在于/FromPath/MoveThisFolder中。

我该如何完成?

据我所知,根据Python文档,ftp.rename用于文件:

FTP.rename(fromname,toname)

将服务器上的文件从名称重命名为。

如果尝试使用ftp.rename(),则会收到无法解决的错误:

ftp.rename(ftp_from_loc, ftp_to_loc)
error_perm: 550 rename: Cannot link to a file on another device.

我也尝试基于mvftp.sendcmd()中使用this question,但出现错误

ftp.sendcmd('mv ' + ftp_from_loc + ' ' + ftp_to_loc)

error_perm:500'MV / sourcePath / * / destinationPath /':命令无法理解。

((当然,我用伪名称替换了实际路径,但是我对路径进行了三重检查,它们是正确的。)>

我遇到了各种关于如何使用Python ftplib将文件从一个位置移动到另一位置的答案(例如,如何将文件从FTP文件夹移动和替换到同一FTP的另一个文件夹)。我是...

python unix ftp ftplib
1个回答
0
投票

在大多数系统上,移动/重命名文件或文件夹没有区别。因此FTP.rename也可以用于目录。

© www.soinside.com 2019 - 2024. All rights reserved.