【问题标题】:How to rename and copy a file without renaming the source file?如何在不重命名源文件的情况下重命名和复制文件?
【发布时间】:2021-05-26 04:50:30
【问题描述】:

我正在编程将文件从 USB 驱动器复制到目标文件夹,同时重命名它。我的部分代码使用了这个:

    os.rename(src, srcrename) #renames file in USB drive
    shutil.copy2(srcrename, dstname) #copies file to the destination

问题是,我不希望它像上面那样重命名 USB 上的文件。我只想让它重命名目标位置的文件。

【问题讨论】:

  • 为什么不使用 copy2 并将 dstname 更改为您喜欢的自定义。删除 os.rename 并使用 dstNameRename

标签: python file directory copy shutil


【解决方案1】:

编辑:不知道为什么它不适合您,但是对于使用元数据进行复制,请改用 copy2

import os
from shutil import copy2

if __name__ == "__main__":
    src = "D:\\videoplayback (1).mp4"
    dest = "E:\\vid.mp4"

copy2(src, dest)

注意使用 windows 路径时的双重反冲

旧答案

从shutil导入副本文件 复制文件(src, dst)

如果 dst 不是目录,它将被用作新名称,否则将被复制到里面。

【讨论】:

  • 我不太清楚你的意思,但是使用 copyfile 会导致我出错。 Copyfile 也不会复制我想要的元数据。
  • 检查新答案是否能解决您的问题。
  • 有效!就个人而言,我允许该功能选择文件夹路径(用于目标)这样我就可以在文件夹路径的末尾添加文件名,以用新名称将其保存到目标!
  • 很高兴我能帮上忙。
  • 好像和copy和copy2不同,copyfile在某些情况下没有一定的权限。这就是为什么我有这个错误。
猜你喜欢
  • 1970-01-01
  • 2013-06-13
  • 1970-01-01
  • 2017-12-14
  • 2016-06-05
  • 1970-01-01
  • 2016-11-01
  • 2018-04-21
  • 1970-01-01
相关资源
最近更新 更多