【发布时间】:2020-12-28 03:41:35
【问题描述】:
我想将文件从一个目录复制到另一个目录,同时在 python 中重命名该文件。 “文件”需要复制为“新文件”而不重命名源目录中的文件。我试过这样的东西;
import shutil,os
src_path="path of source directory"
dst="path of destination directory"
for file in os.listdir(src):
file_path=os.path.join(src_path,file)
shutil.copy(file_path,dst/"new"+'-'+file)
但是这不起作用。我知道通过使用 os.rename() 模块,它可以在复制后重命名。但是,我有名称相似的文件,它们将替换已经复制的文件,以避免我需要将每个文件重命名为“新文件”以及复制自身。
感谢任何帮助。提前致谢
【问题讨论】:
-
你正在尝试分割字符串 --
dst/"new" -
而且你显然知道如何使用
os.path.join,因为你在上一行使用了它。 -
@Ben 我已经发布了一个对原始代码进行了最小错误修复的答案,但是如果你也可以使用 pathlib 获得答案会很好 - 也许你可以发布一个?
-
您使用它来确定新名称,包括路径。如果你不明白怎么做,那么你看看你自己的代码的前一行,你做了同样的事情。
标签: python rename shutil copying