8

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

procs = psutil.get_process_list()

给我以下错误:

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

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

但是除了将其粘贴到另一个目录(我尝试过但对我不起作用)之外,没有真正的解决方案。有谁知道我为什么会收到这个错误?

4

2 回答 2

11

在这里检查文档后,我没有get_process_list()在 psutil 中看到一个函数,它已根据this被弃用。

也许您应该尝试该功能--此处process_iter()的文档

它产生一个迭代器,它将系统中的所有进程作为 Process 类对象返回。

然后,您可以使用list(..)将它们转换为列表(如果列表是您真正想要的),或者直接在 for 循环中使用迭代器,如果您只想迭代它们(如果您只想逐个迭代它们,转换为列表将是不必要的开销)。

例子 -

for proc in psutil.process_iter():
    <do your logic>

或者,如果您想要列表 -

procs = list(psutil.process_iter())
于 2015-07-04T04:32:29.453 回答
2

HISTORY.rst

#273: psutil.get_process_list() 已弃用。

改用psutil.process_iter()

procs = list(psutil.process_iter())
于 2015-07-04T04:31:42.377 回答