L'instruction global sert uniquement à accéder en écriture à une variable déclarée au niveau principal.
Comme toutes les variables du niveau principal sont déjà accessibles en lecture partout, il est inutile de remettre l'instruction global dans la fonction lance_fileman, vu qu'on ne fait que lire sel_dir.

Envoyé par
santaflam
y a t-il un moyen pour que le "initialdir" prenne la dernière sélection de l' utilisateur -dans la dernière session de l' application donc- autrement dit il faut stocker cette chaine mais òu , et comment
Je ne comprends pas, c'est déjà le cas avec la variable sel_dir non ?
Elle enregistre le chemin du répertoire sélectionné avec ta fonction lance_fileman_dir.
En fait je ne vois pas l'intérêt de ce système à deux fonctions... si tu veux ouvrir un fichier, pourquoi vouloir récupérer le chemin du répertoire avant ?
En plus, askopenfilename mémorise automatiquement le dernier répertoire utilisé, si tu l'appelles une seconde fois, le répertoire par défaut sera celui ou se trouve le fichier ouvert lors du premier appel.
Et pour terminer, si tu souhaites vraiment récupérer à la main le chemin du répertoire du dernier fichier ouvert, tu peux procéder comme ça (chemin_fichier étant la chaîne renvoyée par askopenfilename) :
chemin_rep = chemin_fichier[:chemin_fichier.rfind("/")]
Tu peux ensuite utiliser chemin_rep comme paramètre pour initialdir.
Partager