python psutil psutil.get_process_list() 错误

python psutil psutil.get_process_list() error

我正在尝试使用 python psutil 做一些事情,但出现了一个奇怪的错误。

procs = psutil.get_process_list()

出现以下错误:

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

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

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

根据HISTORY.rst,

#273: psutil.get_process_list() is deprecated.

改用psutil.process_iter()

procs = list(psutil.process_iter())

检查文档后 here , I do not see a get_process_list() function in psutil, it has been deprecated according to this .

也许你应该试试这个功能 - process_iter() - 文档 here

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

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

例子-

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

或者如果你想要列表 -

procs = list(psutil.process_iter())