コンピューターで実行中のすべてのプロセスを印刷したい。私のプロセスの 1 つが呼び出され哈哈.exe
ます。これは私のコードです:
# -*- coding: utf-8 -*-
import psutil
for proc in psutil.process_iter():
print proc.name().encode('utf-8')
??.exe
中国のプロセスの出力を取得します。プロセス名を正しく表示する方法を誰かが知っていますか?
たぶん、このようなフォーマットを試してみませんか?
import psutil
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['name'])
except psutil.NoSuchProcess:
pass
else:
print pinfo
encode
これについては間違った方法です。エンコードの結果はバイナリ値であり、ファイルに出力する準備ができています。あなたが考えているのは 、バイナリ値を (逆に) 文字列に変換するデコード関数です。
エンコード (またはデコード) しないと文字列が正しく表示されない場合は、使用されているエンコードを特定し、名前をバイト文字列に変換してから、正しい型からデコードする必要があります。
多くの言語と同様に、Python は文字列処理を正しい方法で概念化し始めています。
あなたのOSは中国語で、コマンドウィンドウでスクリプトを実行しますか? あなたは出来るproc.name().encode('gbk')