python psutil psutil.get_process_list()错误

时间:2015-07-04 04:20:29

标签: python psutil

我试图用python psutil做一些事情,但得到一个奇怪的错误。

procs = psutil.get_process_list()

给我发出以下错误:

AttributeError: 'module' object has no attribute 'get_process_list'

我发现的唯一一件事是: https://github.com/giampaolo/psutil/issues/524

但除了将它粘贴到另一个目录(我尝试但不适合我)之外,没有真正的解决方案。有没有人知道为什么我会收到这个错误?

提前大于号!

2 个答案:

答案 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())