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 に関数が表示されません。これに従って廃止されまし

多分あなたは関数を試してみるべきです - process_iter()- ドキュメントはこちら

システム内のすべてのプロセスを Process クラス オブジェクトとして返すイテレータを生成します。

次に、それらをリストに変換するために使用できますlist(..)(リストが本当に必要なものの場合)、またはそれらを反復したい場合は、forループでイテレータを直接使用できます(それらを1つずつ反復したい場合) 、リストへの変換は不要なオーバーヘッドになります)。

例 -

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 に答える