petit bug sur sur la fonction d'appel de tkinter
Bonjour
Je ne parviens pas a voir comment détecter et prendre en charge le fait de cliquer sur le bouton annuler dans ce programme.
Sur tout comment régler lemassage d'exception AttributeError dans l'appel
line 54, in <module>
if le_fichier.nom_fichier == None:
AttributeError: 'recherche_fichier' object has no attribute 'nom_fichier'
il semble que ce soit def explorateur_window(repertoireinit):
La classe class recherche_fichier(): contient bien 3 variables dont la zone nom_fichier
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| # coding: utf-8
import threading
import tkinter
from tkinter.filedialog import askopenfilename
import os
'''Created on 21 aout 2017
@
'''
def explorateur_window(repertoireinit):
""" Explorateur Windows """
root = tkinter.Tk()
filename = tkinter.filedialog.askopenfilename(
initialdir=repertoireinit,
title="Choisir votre fichier",
filetypes=(
("Tous type de fichier","*.*") ,
)
)
return filename
pass
class recherche_fichier():
nom_fichier :str
repertoire : str
nom_complet: str
def __init__(self,depart):
'''
Constructor
'''
nom_fichier = None
repertoire = None
nom_complet = None
self.nom_complet = explorateur_window(depart) # Recherche via explorateur nom_fichier_path_in
if self.nom_complet != None :
if os.path.isfile(self.nom_complet):
# Ouverture du fichier destination
self.nom_fichier = os.path.basename(self.nom_complet) # Retourne le nom du fichier
#print(self.nom_fichier)
self.repertoire = os.path.dirname(self.nom_complet) # Retourne le répertoire complet
#print(self.repertoire )
if __name__ == '__main__':
le_fichier = recherche_fichier(".//")
if le_fichier.nom_fichier == None:
print("Pas de fichier choisi" )
else:
print(le_fichier)
print(le_fichier.repertoire)
print(le_fichier.nom_fichier) |