⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ boites de dialogue
tkinter.filedialog.askopenfile ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ boites de dialogue
tkinter.filedialog.askopenfile ( )
DESCRIPTION.
Ouvre une boite de dialogue, proposant à l'utilisateur de sélectionner un ou plusieurs fichiers et retourne des objets fichiers ouvert en mode lecture seule (mode = "r") correspondant à ces fichiers dans une list ( ).
SYNTAXE.
LST_Fichiers = tkinter.filedialog.askopenfiles ( attribut1 = valeur , ... , attributn = valeur )
LST_Fichiers = ⇨ variable qui recevra la list ( ) [ optionnel ]
tkinter.filedialog.askopenfiles ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
attribut = valeur ⇨ attribut à modifier avec sa nouvelle valeur [ optionnel ]
LISTE DES ATTRIBUTS.
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. 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.
multiple = booleen
Si multiple = True l'utilisateur peut sélectionner plusieurs fichiers. Si multiple = False, valeur par défaut, L'utilisateur ne pourra sélectionner qu'un seul fichierà la fois.
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 certains fichiers n'existent pas, ils seront créés avec un contenu vide .La méthode tkinter.filedialog.askopenfiles ( ) retourne une list ( ) où chaque élément est un objet fichier ouvert en mode lecture seules (mode = "r") ou un tuple ( ) vide : ( ) si l'utilisateur a cliqué sur le bouton annuler pour fermer la boite de dialogue. Chacun de ces éléments pourra ensuite être utilisé individuellement avec les sous méthodes de open ( ). Voir la méthode open ( ) pour plus de détails sur la lecture des enregistrements présents dans un fichier.
La méthode tkinter.filedialog.askopenfiles ( ) 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 Load ( ) pour appeler la méthode tkinter.filedialog.askopenfiles ( ).
import tkinter.filedialog
print ( tkinter.filedialog.askopenfiles ( ) )
EXEMPLE.
import tkinter
import tkinter.filedialog
def FNC_Selection ( ) :
kfichiers = tkinter.filedialog.askopenfiles ( )
if kfichiers == "" : return
TXT_Editeur.delete ( "1.0" , "end" )
TXT_Editeur.insert ( "end" , f"Les { len ( kfichiers ) } fichiers :\n\n" )
for kfichier in kfichiers : TXT_Editeur.insert ( "end" , f"{ kfichier }\n" )
TXT_Editeur.insert ( "end" , "\nsont maintenant ouvert en mode lecture." )
TKI_Principal = tkinter.Tk ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_Ouvrir = tkinter.Button ( TKI_Principal , text = "Sélectionner ... " , command = FNC_Selection )
TXT_Editeur = tkinter.Text ( TKI_Principal , wrap = "none" , width = 60 , height = 10 )
TXT_Editeur.grid ( row = 0 , column = 0 , columnspan = 2 )
BUT_Ouvrir.grid ( row = 1 , column = 0 , sticky = "w" )
BUT_Quitter.grid ( row = 1 , column = 1 , sticky = "e" )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de