-1
私のコードは次のようになります。NameErrorは:グローバル名が別の.pyファイルで定義されたグローバル変数で定義されていない
config.py
global var
var = None
file1.py
from config import *
def foo1():
global var
var = <object>
def foo2():
var.doWork1() # this works
file2.py
from config import *
def foo3():
var.doWork2() # this throws global name 'var' is not defined
2番目のモジュールでvarにアクセスできないのはなぜですか?
実際にコードをどのように実行しますか?たとえば、 'foo1'を実行する前に' foo2'を実行すると動作しません。いずれにせよ、 'config.py'の' global var'は目的を果たさない。 – chepner
私は@chepnerと 'config.py'の' global var'が目的を果たしていないことに同意します。 –
ところで、 'AttributeError: 'NoneType'オブジェクトには期待される属性 'doWork2''がありません。例外を除いてそのまま動作します。 –