以下のコードは、 "NameError:name 'self'が定義されていません"を返します。NameError:name 'self'が定義されていません。
。確認するために$パイソン-ttを使用してあなたのコードスニペットは、Fiを提供して動作します。あなたは、スペースやタブを混ぜた場合、これが発生する可能性があります -class Versions:
def __init__(self):
self.module_a = '1.0.0'
self.module_b = '1.0.0'
if os.path.exists('config.json'):
with open('config.json') as f:
configs = json.load(f)
for config in configs:
setattr(self, config, configs[config])
トレースバック
NameError Traceback (most recent call last)
<ipython-input-5-ed6a4ca551d4> in <module>()
3 configs = json.load(f)
4 for config in configs:
----> 5 setattr(self, config, configs[config])
6
NameError: name 'self' is not defined
おかげ
質問に完全なエラートレースバックを追加してください! –
脇に:forループをインデント解除することができます –
この質問のコードは正しいですか、if文がdefの中にないとPythonが考えるように、インデントの問題があるかもしれません。 – RemcoGerlich