有没有一种方法,在python中,我可以复制一个目录中的文件,并用不同的名称将其复制到同一目录中



我希望能够获得一个文件,并用不同的名称在同一目录中复制它,但我不知道如何在复制时更改名称,这样我就不会错误地认为文件已经存在或更改了原始文件的名称。

如果指定目标文件名和目标文件夹,

shutil.copy((可以做到这一点:

import shutil
shutil.copy(r'c:tempfile1.txt', r'c:tempfile2.txt')

在TessellatingHeckler的回答中,如果你有一个带有任意目录的文件,你可以使用os.path.dirname和os.path.join在同一目录中创建一个新的文件名:

import os
import shutil
original = r'c:tempfile1.txt'
original_dir = os.path.dirname(original)          # r'c:temp'
new_name = 'file2.txt'
new_path = os.path.join(original_dir, new_name)   # r'c:tempfile2.txt'
shutil.copy(original, new_path)

如果你愿意的话,你当然可以做得更紧凑一些。您还会从shutil.copy((文档中注意到,shutil具有多种不同的复制方法,每种方法都有优缺点。例如,shutil.copy2((尝试保留元数据。由你来决定哪种方法最适合你的情况。

最新更新