我试图用python psutil做一些事情,但得到一个奇怪的错误。
procs = psutil.get_process_list()
给我发出以下错误:
AttributeError: 'module' object has no attribute 'get_process_list'
我发现的唯一一件事是: https://github.com/giampaolo/psutil/issues/524
但除了将它粘贴到另一个目录(我尝试但不适合我)之外,没有真正的解决方案。有没有人知道为什么我会收到这个错误?
提前大于号!
答案 0 :(得分:8)
检查文档here后,我在psutil中看不到get_process_list()
函数,根据this已弃用它。
也许您应该尝试使用此功能 - process_iter()
- 文档here
它产生一个迭代器,它将系统中的所有进程作为Process类对象返回。
然后你可以使用list(..)
将它们转换为列表(如果列表是你真正想要的),或者直接在for循环中使用迭代器,如果你只想迭代它们(如果你只是想要逐个迭代它们,转换为列表将是一个不必要的开销。
示例 -
for proc in psutil.process_iter():
<do your logic>
或者如果你想要列表 -
procs = list(psutil.process_iter())
答案 1 :(得分:1)
根据HISTORY.rst
,
#273:不推荐使用psutil.get_process_list()。
改为使用psutil.process_iter()
:
procs = list(psutil.process_iter())