⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ boites de dialogue
tkinter.filedialog.asksaveasfilename ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ boites de dialogue
tkinter.filedialog.asksaveasfilename ( )
DESCRIPTION.
Ouvre une boite de dialogue, proposant à l'utilisateur de saisir ou de de sélectionner un nom de fichier, le créer et retourne le chemin absolu de ce fichier.
SYNTAXE.
FIL_Fichier = tkinter.filedialog.asksaveasfilename ( attribut1 = valeur , ... , attributn = valeur )
FIL_Fichier = ⇨ variable qui recevra l'objet fichier [ optionnel ]
tkinter.filedialog.asksaveasfilename ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
attribut = valeur ⇨ attribut à modifier avec sa nouvelle valeur [ optionnel ]
LISTE DES ATTRIBUTS.
confirmoverwrite = booleen
Si confirmoverwrite = True, valeur par défaut, Python demandera une confirmation avant de remplacer un fichier existant par un nouveau contenu. Si confirmoverwrite = False, rancune vérification ne sera faite, si un fichier existe déjà avec le même nom, il sera écrasé et remplacé par le nouveau contenu.
defaultextension = extension
extension doit être un str ( ) valide qui sera ajouté automatiquement au nom du fichier si aucune autre extension n'est précisée par l'utilisateur lors de l'enregistrement du fichier.
filetypes = collection
collection doit être une list ( ) composé de tuple ( ) contenant deux str ( ) : le premier élément décrit le type de fichier correspondant à l'extension ; le deuxième élément est un type d'extension. collection peut contenir autant de tuple ( ) que nécessaire. Une liste déroulante proposera de choisir un type de fichier. Seuls les fichiers ayant l'extension de ce type de fichier seront présentés dans la boite de dialogue. La navigation dans les répertoire n'est pas influencée par le choix d'extension. Par défaut, si filetypes est omis, tous les fichiers non cachés du répertoire sont visibles et sélectionnables.
initialdir = chemin
chemin doit être un str ( ) correspondant au chemin d'un répertoire valide qui sera sélectionné lors de l'ouverture de la boîte de dialogue. Si chemin n'existe pas, la boite de dialogue s'ouvrira sur le répertoire dont le nom est le plus proche possible de chemin ou du répertoire par défaut au moment de l'appel. Par défaut chemin est le répertoire de travail courant.
initialfile = chemin
chemin doit être un str ( ) correspondant au chemin d'un fichier qui sera présent dans la zone de saisie lors de l'ouverture de la boîte de dialogue. chemin sera pris comme nom de fichier par défaut, si l'utilisateur n'en sélectionne aucun autre. Si chemin n'existe pas il sera quand même affiché dans la zone de saisie. Si initialfile est absent aucun nom de fichier ne sera affiché dans la zone de saisie.
parent = contenant
Identification du contenant au dessus duquel sera affiché la boîte de dialogue, par défaut c'est la fenêtre principale créée avec la classe tkinter.Tk ( ).
title = chaine
chaine doit être un str ( ) quelconque mais valide. chaine apparaitra dans le bandeau situé en haut de la boite de dialogue. Par défaut chaine vaut "Ouvrir". Attention, la valeur de l'attribut title d'une fenêtre n'est pas son nom, ni son identifiant. On ne peut pas appeler la boite de dialogue en utilisant la valeur de l'attribut title pour l'identifier.
REMARQUES.
Si un fichier de même nom existe déjà, il est écrasé et son contenu est remplacé par un fichier vide, sinon un nouveau fichier vide est créé. La méthode tkinter.filedialog.asksaveasfilename ( ) retourne le chemin absolu du fichier qui vient d'être créé en mode écriture (mode = "w") puis fermé, ou None si l'utilisateur a cliqué sur le bouton annuler pour fermer la boite de dialogue. Voir la méthode open ( ) pour plus de détails sur l'écriture des enregistrements dans un fichier.
Une bonne pratique, et même la meilleure, et de toujours utiliser l'instruction with pour l'ouverture de fichier dans vos applications. En effet, l'emploi de with vous garantira une fermeture propre et correct du fichier, quelque soit la raison de la sortie du bloc initié par with, même si votre application a levé une exception, gérée ou non, durant l'ouverture d'un fichier. Il est donc conseillé d'utiliser la méthode tkinter.filedialog.askopenfilename ( ) comme ceci :
with tkinter.filedialog.asksaveasfilename ( ) as FIL_Fichier :
# --- Traitement de contenu du fichier ---
...
...
La méthode tkinter.filedialog.asksaveasfilename ( ) n'est pas native du module tkinter, il faut donc commencer par importer le module tkinter.filedialog pour pouvoir utiliser cette méthode. Voir import pour plus de détails sur l'incorporation de modules, classes et méthodes non built-in dans un script.
Bien que cela soit fortement déconseiller, il n'est pas nécessaire d'importer le module le module tkinter avant le module tkinter.filedialog. En effet le module tkinter sera automatiquement importé avec le module tkinter.filedialog. De même il n'est pas utile de créer une instance de la classe Save ( ) pour appeler la méthode tkinter.filedialog.asksaveasfilename ( ).
import tkinter.filedialog
print ( tkinter.filedialog.asksaveasfilename ( ) )
EXEMPLE.
import tkinter
import tkinter.filedialog
def FNC_Creation ( ) :
try :
kfichier = tkinter.filedialog.asksaveasfilename ( initialfile = "sans nom.txt")
TXT_Editeur.delete ( "1.0" , "end" )
TXT_Editeur.insert ( "end" , f"Le fichier : { kfichier } \n" )
TXT_Editeur.insert ( "end" , "a été créé ...\n\n" )
TXT_Editeur.insert ( "end" , "Fichier fermé !" )
except : pass
TKI_Principal = tkinter.Tk ( )
TXT_Editeur = tkinter.Text ( TKI_Principal , wrap = "word" , width = 40 , height = 6 )
TXT_Editeur.pack ( )
tkinter.Button ( TKI_Principal , text = "Sélectionner ... " , command = FNC_Creation ).pack ( )
tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy ).pack ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de