Chemin d'accès dans une variable [Résolu]

Messages postés
27
Date d'inscription
lundi 25 mai 2015
Statut
Membre
Dernière intervention
20 juillet 2019
- - Dernière réponse : Redtrix95
Messages postés
27
Date d'inscription
lundi 25 mai 2015
Statut
Membre
Dernière intervention
20 juillet 2019
- 20 juil. 2019 à 13:35
Bonjour, j'ai trouvé beaucoup de problème similaire au mien, mais aucun qui soit puisse résoudre mon problème en particulier.
Alors voilà, je fais un script python dans lequel tout d'abord l'utilisateur utilise un explorateur de fichier pour stocker le chemin d'accès dans 'root.filename'.
Et j'aimerais pouvoir lire le fichier grâce à :
with open("C://chemin","r") as f:

Le problème est que si je remplace "C://chemin" par "root.filename" il ne trouve pas le chemin d'accès, et si je le remplace par root.filename, la fonction n'a pas d'attribut root.filename...
J'ai également essayé avec str(root.filename).

Quelqu'un pourrait-il m'éclairer sur la manière d'ouvrir un fichier dont le chemin d'accès est contenu dans une variable ?
Merci d'avance pour votre temps !
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
8296
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2019
412
1
Merci
bonjour, peux-tu montrer ton code, en utilisant les balises de code?

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 58235 internautes nous ont dit merci ce mois-ci

Commenter la réponse de yg_be
Messages postés
27
Date d'inscription
lundi 25 mai 2015
Statut
Membre
Dernière intervention
20 juillet 2019
0
Merci
Voilà le bout de code intéressant. Le problème se situant à la partie en fin de programme. (ligne 22-25)

from tkinter import*
from tkinter import filedialog
#########################création de la fenetre#########################
root=Tk()
root.title("Verbes irréguliers")
root.geometry("400x700")
########################################################################

########################choix du fichier################################
explication_browse=Label(root, text="Choisissez l'emplacement de votre fichier contenant la\n liste de verbes")
explication_browse.place(x=15, y=20)

def browsef():
	root.filename =  filedialog.askopenfilename(initialdir = "/",title = "Choix du fichier",filetypes = (
					 ("Fichier texte","*.txt"),("Tous les fichiers","*.*")))
	fichier_choisi=Label(root, text=root.filename)
	fichier_choisi.place(x=90, y=70)

browse=Button(root, text="Parcourir", bg='grey', command=browsef)
browse.place(x=10, y=70)

filename=str(root.filename)
with open(filename,"r") as f:
	liste=f.read()
f.close()
print(liste)
########################################################################


root.mainloop()


Merci de votre aide.
Commenter la réponse de Redtrix95
Messages postés
8296
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2019
412
0
Merci
et ceci:
filename =  filedialog.askopenfilename(initialdir = "/",title = "Choix du fichier",filetypes = (
					 ("Fichier texte","*.txt"),("Tous les fichiers","*.*")))
with open(filename,"r") as f:
Commenter la réponse de yg_be
Messages postés
27
Date d'inscription
lundi 25 mai 2015
Statut
Membre
Dernière intervention
20 juillet 2019
0
Merci
Voilà ce que j'obtiens :
AttributeError: '_tkinter.tkapp' object has no attribute 'filename'
Commenter la réponse de Redtrix95
Messages postés
27
Date d'inscription
lundi 25 mai 2015
Statut
Membre
Dernière intervention
20 juillet 2019
0
Merci
A force d'essayer différentes choses, j'ai trouvé une solution. Il fallait définir ma variable comme StringVar().
filename=StringVar()
filename = filedialog.askopenfilename(initialdir = "/",title = "Choix du fichier",filetypes = (("Fichier texte","*.txt"),("Tous les fichiers","*.*")))
fichier_choisi=Label(root, text=filename, font=italic)
fichier_choisi.place(x=90, y=60)
with open(filename,"r")as f:
    liste=f.read()
f.close()


Merci yg_be pour les réponses.
Commenter la réponse de Redtrix95