Python NoneType\u getitem_

2024-04-19 12:48:34 发布

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

我正在使用美国CERT公司用python编写的软件来做一些模糊处理。软件中包含一个最小化器.py该工具设计用于针对某些导致崩溃的测试用例运行,以便准确地确定哪些字节突变导致了崩溃。在

然而,当尝试运行这个工具时,它却向我吐出了一个错误。谷歌搜索工具和错误都是空白。尝试自己用有限的python经验来解决这个问题也无济于事。你知道是什么原因导致了这个错误,这样我就可以修复它并使工具正常工作吗?在

正在使用的命令行选项包括:最小化器.py--弦模式

误差输出如下:

Traceback (most recent call last):
File "C:\FOE2\tools\minimize.py", line 234, in <module>
main()
File "C:\FOE2\tools\minimize.py", line 183, in main
config = Config(cfg_file).config
File "C:\FOE2\certfuzz\campaign\config\__init__.py", line 76, in __init__
self._set_derived_options()
File "C:\FOE2\certfuzz\campaign\config\foe_config.py", line 93, in _set_derived_options
t = Template(self.config['target']['cmdline_template'])
TypeError: 'NoneType' object has no attribute '__getitem__'

最后两行错误中两个文件的代码段是:

__init__.py

^{pr2}$

然后从foe_config_.py(添加前面几行代码以防它们相关):

class Config(ConfigBase):
  def _add_validations(self):
    self.validations.append(self._validate_debugger_timeout_exceeds_runner)

  def _set_derived_options(self):
    # interpolate program name
    # add quotes around $SEEDFILE
    t = Template(self.config['target']['cmdline_template'])
    #self.config['target']['cmdline_template'] = t.safe_substitute(PROGRAM=self.config['target']['program'])
    self.config['target']['cmdline_template'] = t.safe_substitute(PROGRAM=quoted(self.config['target']['program']), SEEDFILE=quoted('$SEEDFILE'))

Tags: 工具inpyselfconfigtargetinit错误
1条回答
网友
1楼 · 发布于 2024-04-19 12:48:34

很难从您发布的代码中判断出来,但看起来__init__self.config设置为None。然后它调用_set_derived_options,在这里使用self.config

t = Template(self.config['target']['cmdline_template'])

但是self.config并没有从None改变。您不会期望None['target']给您任何东西(除了一个例外),但我认为这就是您在这里要做的。在

相关问题 更多 >