2017-06-20 1 views
-1

Ich möchte eine Datei kopieren, aber ich möchte, dass die neue Datei anders benannt wird, als hätte ich eine (1) neben dem Namen, ohne die Erweiterung zu ändern.Wie kopiere ich die Datei unter einem anderen Namen, aber mit derselben Erweiterung?

Hier ist mein Code:

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

Wie würde ich Dateinamen ein (1) am Ende des Namens zu haben, ohne die Erweiterung zu berühren?

+0

Ändern Sie das Ziel (der zweite Parameter zu 'shuthil.copy') – depperm

+1

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

+0

Welcher Typ ist' '' Dateiname '' '? Ist es eine Schnur? In diesem Fall können Sie das '' '.''' aufteilen und den ersten Part ändern, dann' '' '' '' '' '' '' '' ''. –

Antwort

1

Sie können os.path.splitext verwenden, um den Stamm und die Erweiterung zu erhalten. Dann können Sie den Dateinamen um eine Zahl erhöhen, bis er nicht mehr existiert, die Erweiterung zurückfügen und die Datei speichern.

Verwandte Themen