Problème avec les variables globales
Bonjour,
Je fais face à une situation que j'aurais naturellement résolue en utilisant des pointeurs en C, mais ici je n'y arrive pas:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| def boucleFreq():
global MIDINOTE
global FREQFLAG
global freqMidiRound
global freqCompteur
new_freqMidi = freqFondamentaleMidi.get()
new_freqMidiRound = round(new_freqMidi)
if (new_freqMidiRound==freqMidiRound) | (abs(new_freqMidi-MIDINOTE)<=0.7):
freqCompteur += 1
else:
freqCompteur = 0
if freqCompteur == 2:
MIDINOTE=freqFondamentale.get()
#MIDINOTE=round(new_freqMidiRound)
FREQFLAG=1
freqMidiRound = new_freqMidiRound |
L'idée est que cette fonction est appelée en boucle (toutes les 0.01s) et qu'elle doit mettre à jour les variables globales MIDINOTE et FREQFLAG. Cependant mon programme comporte plusieurs fonctions de ce genre et il commence à être difficile de tout rassembler en un seul fichier source. Mais quand je déplace cette fonction dans un autre .py et que je l'importe au début du programme, les variables globales ne son plus reconnues. J'ai pensé à passer ces variables en paramètre mais il faudrait donc envoyer l'adresse de ces variables non ? Quelques test basiques m'ont montré que cela ne marchait pas en python...
Merci d'avance !