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

procs = psutil.get_process_list()

给我以下错误:
AttributeError: 'module' object has no attribute 'get_process_list'

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

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

提前谢谢!

最佳答案

检查文档 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())

关于python psutil psutil.get_process_list() 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31216835/

10-10 05:24