Tôi hơi bối rối về cách các biến toàn cầu hoạt động. Tôi có một dự án lớn, với khoảng 50 tệp và tôi cần xác định các biến toàn cục cho tất cả các tệp đó.
Những gì tôi đã làm là xác định chúng trong main.py
tệp dự án của tôi , như sau:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Tôi đang cố gắng để sử dụng myList
trong subfile.py
, như sau
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
Một cách khác tôi đã thử, nhưng cũng không hiệu quả
# ../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])
Và bên trong subfile.py
tôi đã có điều này:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList
def stuff():
globfile.myList.append("hey")
Nhưng một lần nữa, nó đã không hoạt động. Làm thế nào tôi nên thực hiện điều này? Tôi hiểu rằng nó không thể hoạt động như vậy, khi hai tệp không thực sự biết nhau (thư mục con cũng không biết chính), nhưng tôi không thể nghĩ ra cách thực hiện, mà không sử dụng io viết hoặc ngâm, Tôi không muốn làm.