2017-06-20 203 views
-1

我想複製一個文件,但我希望新文件被命名爲不同的東西,比如名稱旁邊有一個(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() 

我將如何得到的文件名有(1)在名稱的不接觸延伸結束了嗎?

+0

更改目的地(第二個參數爲'shutil.copy') – depperm

+1

https://stackoverflow.com/questions/541390/extracting-extension-from-filename-in-python/ –

+0

什麼類型是'''文件名'''?它是一個字符串嗎?在這種情況下,你可以在'''''''上拆分,然後改變第一部分,然後再改成'''join()'''。 –

回答

1

您可以使用os.path.splitext來獲取根目錄和擴展名。然後,您可以用一個數字遞增文件名,直到它不存在,然後添加擴展名並保存該文件。

相關問題