Я трохи розгублений, як працюють глобальні змінні. У мене великий проект, який містить близько 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 або маринування, які Я не хочу цього робити.