Python3上的随机攻击错误

2024-04-26 19:07:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正面临一个奇怪的问题。你知道吗

我用2to3把一条Python2改成Python3。你知道吗

在此之后,我的代码随机运行/失败。。。 当它失败时我得到的错误与属性错误有关。。。 但是在python2和随机python3试验中,它是有效的,并且找到了属性。。。你知道吗

我在两台运行python3.4的机器上测试了这个行为。你知道吗

你知道哪里出了问题吗(我对这种“随机”的失败感到困惑)?你知道吗

这是我得到的线索:

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注册.size(),它可以访问width并随机发布属性width,但该属性在顶级词典中不存在。你知道吗

谢谢你的帮助!你知道吗


Tags: keyinpyselfjsonfieldfor属性
1条回答
网友
1楼 · 发布于 2024-04-26 19:07:38

好的,伙计们,谢谢你们的帮助,@Bryan Oakley,你们的帮助帮助了我。你知道吗

最后的问题是,我从我加载的json获取密钥,加载是在一个字典上完成的,而不是在一个排序字典上完成的。你知道吗

我的一个键,json中的last,然后调用期望设置其他键(错误报告中的宽度)的函数。你知道吗

如果字典没有排序,则在某些情况下,宽度键在设置最后一个键之前设置,而在某些情况下则不设置。你知道吗

我仍然不明白为什么它对Python2有用。。。。你知道吗

谢谢大家的帮助!你知道吗

相关问题 更多 >