Usando variáveis globais entre arquivos?
Estou um pouco confuso sobre como as variáveis globais funcionam. Eu tenho um projeto grande, com cerca de 50 arquivos, e preciso definir variáveis globais para todos esses arquivos.
O que eu fiz foi defini-los nos meus projetosmain.py
arquivo, como seguindo:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Estou tentando usarmyList
emsubfile.py
, como segue
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
De outra maneira eu tentei, mas também não trabalhei
# ../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 dentrosubfile.py
Eu tive isso:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList
def stuff():
globfile.myList.append("hey")
Mas novamente, não funcionou. Como devo implementar isso? Eu entendo que não pode funcionar assim, quando os dois arquivos realmente não se conhecem (bem, o subarquivo não sabe main), mas eu não consigo pensar em como fazê-lo, sem usar o io ou o pickle, que Eu não quero fazer.