Jestem trochę zdezorientowany, jak działają zmienne globalne. Mam duży projekt z około 50 plikami i muszę zdefiniować zmienne globalne dla wszystkich tych plików.
To, co zrobiłem, to zdefiniowanie ich w main.py
pliku moich projektów , jako:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Próbuję użyć myList
w subfile.py
następujący sposób
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
Próbowałem w inny sposób, ale też nie działałem
# ../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])
A w środku subfile.py
miałem to:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList
def stuff():
globfile.myList.append("hey")
Ale znowu to nie zadziałało. Jak mam to zaimplementować? Rozumiem, że to nie może tak działać, gdy dwa pliki tak naprawdę się nie znają (dobrze, podtekst nie zna głównego), ale nie mogę wymyślić, jak to zrobić, bez użycia pisma io marynowaniu, które Nie chcę robić