【问题标题】:ftplib - move file to another directory? (with rename)ftplib - 将文件移动到另一个目录? (重命名)
【发布时间】:2023-03-26 23:23:01
【问题描述】:

我运行这个:

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

【问题讨论】:

    标签: ftp file-rename ftplib sharefile


    【解决方案1】:

    我就是这样做的。

    首先转到您的目标目录:

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

    然后执行move(rename from and rename to)命令:

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

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

    我假设您可以 cwd 进入目的地并以相同的方式使用 FTP.rename,这可能只是一些权限问题或 FTP 的设计工作方式。

    【讨论】:

    • FTP.sendcmd('RNFR ' + 'Full/Path/Source/File') + FTP.sendcmd('RNTO ' + 'filename') -- 这和调用FTP.rename('Full/Path/Source/File', 'filename')是一样的
    猜你喜欢
    • 2014-12-19
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 2019-09-26
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多