Küresel değişkenlerin nasıl çalıştığı konusunda biraz kafam karıştı. Yaklaşık 50 dosya içeren büyük bir projem var ve tüm bu dosyalar için global değişkenler tanımlamam gerekiyor.
Yaptığım şey bunları projelerim main.py
dosyasında tanımlamaktı :
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Ben kullanmaya çalışıyorum myList
içinde subfile.py
aşağıdaki gibi
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
Başka bir yol denedim ama işe yaramadı
# ../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])
Ve içimde subfile.py
bu vardı:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList
def stuff():
globfile.myList.append("hey")
Ama yine işe yaramadı. Bunu nasıl uygulamalıyım? İki dosya birbirini gerçekten tanımadığında (iyi alt dosya ana bilmiyor), bu şekilde çalışamayacağını anlıyorum, ancak io yazma veya turşu kullanmadan nasıl yapılacağını düşünemiyorum. Yapmak istemiyorum.