关于python:如何复制具有不同名称但扩展名相同的文件?

How to copy file with a different name, but same extension?

本问题已经有最佳答案,请猛点这里访问。

我想复制一个文件,但我希望新文件的命名有所不同,比如在名称旁边有一个(1)而不更改扩展名。

这是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import shutil
from tkinter import *
from tkinter.filedialog import askopenfilename
import os


filename = askopenfilename()

file_name, file_extension = os.path.splitext(filename)

dec ="_dec"

newfile = file_name + dec


copied = str.join(newfile, file_extension)


shutil.copy(filename, copied )

master = Tk()

w = Message(master, text="Copied!", width = 100)
w.pack()

mainloop()

如何让文件名在名称末尾有一个(1)而不触及扩展名?


可以使用os.path.splitext获取根和扩展名。然后,您可以用一个数字增加文件名,直到它不存在为止,将扩展名添加回去,然后保存文件。