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 fiz foi defini-los no meu main.py
arquivo de projetos , da seguinte maneira:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Eu estou tentando usar myList
em subfile.py
, como a seguir
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
Por outro lado, tentei, mas também não funcionou
# ../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 por dentro subfile.py
eu tinha 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? Entendo que não pode funcionar assim, quando os dois arquivos não se conhecem (o subarquivo não conhece main), mas não consigo pensar em como fazê-lo, sem usar io writing ou pickle, o que Eu não quero fazer