私は奇妙な問題に直面しています。python3のランダムAttibuteError
私は2to3を使ってpython3に変更したpython2を変更しました。
この後、私のコードはランダムに失敗/実行されている...それが失敗したときに私が手 エラーが属性エラーに関連している... しかしpython2で、それが動作するランダムのpython3の試験では、属性を見つけます...
私はpython3.4の両方を実行している2台のマシンでこの動作をテストしました。
何が起こっているのか分かりませんか(私はこの「ランダム」の失敗に困惑しています)?ここで
は私が手トレースです:
Traceback (most recent call last):
File "tools/ciregs.py", line 1596, in <module>
module = Module(json_data)
File "tools/ciregs.py", line 1147, in \__init__
self.registers = [Register(json_reg, parent_module=self) for json_reg in json_module[key]]
File "tools/ciregs.py", line 1147, in <listcomp>
self.registers = [Register(json_reg, parent_module=self) for json_reg in json_module[key]]
File "tools/ciregs.py", line 1260, in \__init__
self.fields = [Field(json_field, self) for json_field in json_reg[key]]
File "tools/ciregs.py", line 1260, in <listcomp>
self.fields = [Field(json_field, self) for json_field in json_reg[key]]
File "tools/ciregs.py", line 1443, in \__init__
self.check()
File "tools/ciregs.py", line 1453, in check
if(self.bitWidth <= 0 or self.bitWidth > self.parent_reg.size()):
File "tools/ciregs.py", line 1326, in size return self.parent_module_.width
AttributeError: 'Module' object has no attribute 'width'
私は「幅」キーが含まれている辞書を持っています。サブ要素では、そのサブ要素のサイズを上部の幅と比較して、適合するかどうかを調べる必要があります。
そのため、私はself.parent_reg.size()にアクセスしようとしましたが、その幅にアクセスすると、その属性の幅はトップレベル辞書には存在しません。
ありがとうございました!
コードなしでは、難しいです! –
どちらのコードでもエラーメッセージでもない - これはdivinerの仕事です。 –
申し訳ありませんが、現在テストケースを分離しようとしていますが、そのコードはかなり大きいです。私が得たエラーメッセージは、(短いバージョンで、私のポストの完全版を参照してください編集:... ファイル "tools/ciregs.py"、行1453、チェック中 if(self.bitWidth <= 0またはself.bitWidth > self.parent_reg.size()):サイズは ファイル "ツール/ ciregs.py"、ライン1326、 リターンはAttributeError self.parent_module_.width: 'モジュール' オブジェクトが属性 '幅' – user1654361