Использование глобальных переменных между файлами?
Я немного озадачен тем, как работают глобальные переменные. У меня большой проект, около 50 файлов, и мне нужно определить глобальные переменные для всех этих файлов.
Я определил их в своих проектах.main.py
файл, как показано ниже:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Я пытаюсь использоватьmyList
вsubfile.py
, как следует
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
Другой способ, которым я пытался, но тоже не работал
# ../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])
И внутриsubfile.py
У меня было это:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList
def stuff():
globfile.myList.append("hey")
Но опять же, это не сработало. Как мне это реализовать? Я понимаю, что это не может работать так, когда два файла на самом деле не знают друг друга (хорошо, подфайл не знает основной), но я не могу придумать, как это сделать, не используя io write или pickle, что Я не хочу делать.