2017-06-20 18 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'の2番目のパラメータ) – depperm

+1

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

+0

' '' filename '' '?それは文字列ですか?この場合、 '' '.'''を分割して最初の部分を変更し、' '' join() '' 'を再度実行することができます。 –

答えて

1

os.path.splitextを使用すると、ルートと拡張子を取得できます。次に、ファイル名が存在しなくなるまで数字をインクリメントし、拡張子を追加して保存します。

関連する問題