グローバル変数がどのように機能するかについて少し混乱しています。約 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")
しかし、やはりうまくいきませんでした。これをどのように実装すればよいですか?2つのファイルが本当にお互いを知らない場合(サブファイルがメインを知らない場合)、そのように機能しないことは理解していますが、io書き込みまたはピクルを使用せずにそれを行う方法を考えることができませんやりたくない。