Bonjour,
Je me heurte à une petite difficulté que je n'arrive pas à résoudre :
J'ai un fichier (GUI) contenant une instruction d'ouverture de fichier et qui viens ensuite insérer les infos dans un widget Text.
Dans un autre fichier Variables.py, j'ai des fonctions de recherche sur le texte ouvert précedemment :
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 ###### FONCTION OUVERTURE DE FICHIER ###### def openfile(): global cmd_file global log_data global logname cmd_file = filedialog.askopenfilename(title="Open SMW Log file", filetypes=(("Text Files", "*.log"),)) filename = os.path.basename(cmd_file) path_entry.insert(END, cmd_file) cmd_file = open(cmd_file, 'r') log_data = cmd_file.read() log_area.insert(END, log_data) logname = (os.path.splitext(filename.upper())[0]) serialnumber.set(str(logname)) print(cmd_file) serialnumber = StringVar() logname =''
J'ai mis les stringvar() et les .set en attente car apres plusieurs essais entre les deux fichiers je n'ai rien réussis à faire de concret..
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 #!/usr/bin/python # -*- coding: iso-8859-1 -*- import tkinter as tk from tkinter import * from tkinter import filedialog cmd_file = '' logdata = '' upsdate = '' upsrating = '' upstype = '' #ups_date = StringVar() #ups_rating = StringVar() #ups_type = StringVar() #ups_date.set(str(upsdate)) #ups_rating.set(upsrating) #ups_type.set(upstype) target = "UPS date (MM-dd-yyyy HH:mm) = " target2 = "Nominal system rating = " target3 = "UPS with IBS System configuration" def upsdateread(): with open(cmd_file, 'r') as datafile: linenum = 0 for line in datafile.readlines(): linenum += 1 if target in line: upsdate = line[30:46] print(upsdate) def upsratingread(): with open(cmd_file, 'r') as datafile: linenum = 0 for line in datafile.readlines(): linenum += 1 if target2 in line: upsrating = line[24:46] print(upsrating) def upstyperead(): with open(cmd_file, 'r') as datafile: linenum = 0 for line in datafile.readlines(): linenum += 1 if target3 in line: upstype = line[0:46] print(upstype)
Je pense que le probleme viens du fait que hors de la fonction openfile() le contenu du fichier n'est pas disponible puisque stocker dans mon widget text.
Comment pourrais-je faire pour récupérer ces informations ?
En vous remerciant par avance
Partager