Estoy un poco confundido acerca de cómo funcionan las variables globales. Tengo un proyecto grande, con alrededor de 50 archivos, y necesito definir variables globales para todos esos archivos.
Lo que hice fue definirlos en mi main.py
archivo de proyectos , de la siguiente manera:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Estoy tratando de utilizar myList
en subfile.py
, la siguiente
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
Otra forma lo intenté, pero tampoco funcionó
# ../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])
Y dentro subfile.py
tenía esto:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList
def stuff():
globfile.myList.append("hey")
Pero de nuevo, no funcionó. ¿Cómo debo implementar esto? Entiendo que no puede funcionar así, cuando los dos archivos no se conocen realmente (bueno, el subfile no conoce main), pero no puedo pensar en cómo hacerlo, sin usar io writing o pickle, que No quiero hacer