전역 변수가 어떻게 작동하는지 혼란 스럽습니다. 약 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 writing 또는 pickle을 사용하지 않고 어떻게 해야할지 생각할 수 없습니다. 하고 싶지 않아요