Python 如何复制具有不同名称但扩展名相同的文件?

Python 如何复制具有不同名称但扩展名相同的文件?,python,python-3.x,file,Python,Python 3.x,File,我想复制一个文件,但我希望新文件的名称有所不同,比如名称旁边有一个(1),而不更改扩展名 这是我的密码: import shutil from tkinter import * from tkinter.filedialog import askopenfilename import os filename = askopenfilename() file_name, file_extension = os.path.splitext(filename) dec = "_dec" ne

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

这是我的密码:

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()

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

您可以使用来获取根和扩展名。然后,您可以使用一个数字增加文件名,直到它不存在,再添加扩展名,然后保存文件。

更改目标(第二个参数为
shutil.copy
)文件名的类型是什么?它是一根绳子吗?在这种情况下,您可以在
上拆分并更改第一部分,然后再次
连接()
。我知道,但如果我喜欢+“(1)”,则(1)位于扩展名之后。它就像hi.txt(1)。