Bonjour,

J'ai boss sur un programme pour crypter des documents, je n'arrive pas a récupérer la variable d'une fonction pour lé réutiliser dans une autre fonction.
j'ai créé la variable test qui est lié à la fonction set_open_file () pour parcourir les fichiers et ouvrir un document, et par la suite l'utiliser pour crypter, le problème est que la fonction ce lance dés l'ouverture du programme.

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
#coding:utf-8
from tkinter import * # on importe tous tkinter permet le TK(), et evite le tkinter.Tk()
from tkinter import filedialog # importation du sous module filedialog pour parcourir les fichiers sur pc
from tkinter.filedialog import askopenfilename
from tkinter.filedialog import asksaveasfilename
import os 
import time
import os.path
fenetre_principale = Tk()# ouverture de la fenetre 
fenetre_principale.geometry("300x300")
 
 
def set_open_file (): #creation d'une fonction pour ouvrir un document avec la fonction filedialog.askopenfile
	result = askopenfilename(initialdir = "/", title = "choisir document", filetypes = (("text files", ".txt"), ("all files", "*,*")) )	
	with open(result, "r") as mon_fichier : # avec l'ouverture du fichier sous (variable), tu execute ce qu'il y a en sous tab, sans avoir besoin de fermer derriere
		result = mon_fichier.read()		
		return result
 
test = set_open_file() 
button = Button(fenetre_principale, text= "ouvrir fichier", command=set_open_file)
button.pack()
def crypter():
 
	tata = ""
 
	for i in test : # boucle pour parcourir chaque lettre dans la variable
		chiffre = ord(i) - 97 # attribution d'une valeur a chaque lettre 
		decalage = (chiffre + 4 ) % 26
		code = chr(decalage + 97) 
		tata = tata + code
	print (tata)
 
boutton_crypter = Button (fenetre_principale, text = "crypter", command = crypter)
boutton_crypter.pack()
 
def set_save_file ():
 
	sauver = asksaveasfilename(initialdir = "/", title = "enregistrer", filetypes = (("text files", ".txt"), ("all files", "*,*")))
	with open (texte, "w") as mon_fichier : 	
            sauver = mon_fichier.write(tata)
 
button_save = Button(fenetre_principale, text = "enregistrer", command = set_save_file)
button_save.pack()
 
 
 
 
fenetre_principale.mainloop() # cloture du programme


pour faire simple j'aimerai recuperer la variable result pour l'utiliser dans la fonction crypter.
En vous remerciant