2017-10-01 3 views
0

J'essaye d'enregistrer un vidage de pickle dans un fichier .pkl en utilisant Tkinter. J'ai suivi la documentation mais quand je sauvegarde le fichier il n'a pas d'extension. Ceci est un extrait:Comment puis-je ajouter une extension de fichier en utilisant TKinter?

root = tk.Tk() 
root.withdraw() 
messagebox.showinfo("Select Save Location", "Please save the Feature list") 
Tk().withdraw() 
savedf = filedialog.asksaveasfilename(filetypes=[("Pickle Dumps","*.pkl")]) 

Comment puis-je faire en sorte que si je nomme le fichier bonjour, il enregistre comme hello.pkl lorsque l'utilisateur spécifie uniquement le nom du fichier?

+0

Vous avez probablement saisir le nom * y compris l'extension * dans la boîte de dialogue « demander le nom de fichier ». – mkrieger1

+0

Oh je voulais faire en sorte que l'utilisateur n'ait qu'à spécifier le nom du fichier et non l'extension – AWP

Répondre

1

Vous pouvez spécifier le paramètre defaultextension:

filedialog.asksaveasfilename(defaultextension='.pkl') 
+0

Sauf sur MacOsx, 'defaultextension = ''' provoque la copie de la première extension du type de fichier courant. Ceci est utile quand on a plusieurs types de fichiers, comme avec IDLE save-as ((.py, .pyw), .txt). –