0

我写了下面的代码,它在第一行给了我错误!这段代码有什么问题:

import volatility.conf as conf
import volatility.registry as reg
import volatility.commands as commands
import volatility.addrspace as addrspace
import volatility.plugins.taskmods as taskmode



# configure volatility
reg.PluginImporter()
config=conf.ConfObject()
reg.register_global_options(conf,commands.Command)
reg.register_global_options(conf,addrspace.BaseAddressSpace)

config.parse_options()
config.PROFILE="Linuxfedora32x64"
config.LOCATION="./dumps/mem.lime"

p=taskmode.PSList(config)
for process in p.calculate:
    print(process)

错误代码:我认为在 python 3.6 中不支持某些代码 insode conf.py 女巫。但波动性与 python 3.6 兼容。所以我不知道该怎么做:

Traceback (most recent call last):
  File "../PycharmProjects/volpractive/test.py", line 6, in <module>
    import volatility.conf as conf
  File "/anaconda3/lib/python3.6/site-packages/volatility-2.6-py3.6.egg/volatility/conf.py", line 84
    except (optparse.BadOptionError, optparse.OptionValueError), err:
4

1 回答 1

1

你是对的,这条线:

except (optparse.BadOptionError, optparse.OptionValueError), err:

与Python3不兼容(根据[Python]: The try statement)。

根据[GitHub]:volatilityfoundation/volatility - (2.6)volatility/README.txt: 126+目前是这样):

要求
============
- Python 2.6或更高版本,但不是 3.0http://www.python.org

注意

  • 堆栈跟踪仍然不完整(缺少最后一行 - 应该是SyntaxError);那本来可以更快地解决问题的

因此,您必须使用Python2.6+运行它(当然您也可以修改代码(至少是您需要的部分)以与Python3兼容,但我怀疑这是否可行)。

于 2018-01-27T09:20:30.337 回答