Sono un po 'confuso su come funzionano le variabili globali. Ho un grande progetto, con circa 50 file e ho bisogno di definire variabili globali per tutti quei file.
Quello che ho fatto è stato definirli nel mio main.py
file di progetti , come segue:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Sto cercando di utilizzare myList
in subfile.py
, come segue
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
In un altro modo ho provato, ma non ha funzionato neanche
# ../myproject/main.py
# Import globfile
import globfile
# Save myList into globfile
globfile.myList = []
# Import subfile
import subfile
# Do something
subfile.stuff()
print(globfile.myList[0])
E dentro subfile.py
ho avuto questo:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList
def stuff():
globfile.myList.append("hey")
Ma ancora una volta, non ha funzionato. Come dovrei implementarlo? Capisco che non può funzionare in questo modo, quando i due file non si conoscono davvero bene (bene il file secondario non conosce main), ma non riesco a pensare a come farlo, senza usare io writing o pickle, che Non voglio fare