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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Partager