¿Utilizando variables globales entre archivos?

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 mis proyectos.main.py archivo, 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 usarmyList ensubfile.pycomo sigue

# ../myproject/subfile.py

# Save "hey" into myList
def stuff():
    globals()["myList"].append("hey")

De otra manera 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 dentrosubfile.py Tuve esto:

# ../myproject/subfile.py

# Import globfile
import globfile

# Save "hey" into myList
def stuff():
    globfile.myList.append("hey")

Pero una vez más, no funcionó. ¿Cómo debo implementar esto? Entiendo que no puede funcionar así, cuando los dos archivos realmente no se conocen entre sí (bueno, el subarchivo no se conoce como principal), pero no puedo pensar en cómo hacerlo, sin usar io writing o pickle, que No quiero hacer

Respuestas a la pregunta(3)

Su respuesta a la pregunta