我想在计算机中打印所有正在运行的进程。我的一个进程称为哈哈.exe
。
这是我的代码:
# -*- coding: utf-8 -*-
import psutil
for proc in psutil.process_iter():
print proc.name().encode('utf-8')
我得到了中文进程的输出??.exe
。有人知道如何正确显示进程名称吗?
答案 0 :(得分:0)
也许尝试做这样的格式?
import psutil
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['name'])
except psutil.NoSuchProcess:
pass
else:
print pinfo
答案 1 :(得分:0)
encode
是错误的方法:编码结果是二进制值,准备输出到文件。你在想的是decode函数,它将二进制值(返回)转换为字符串。
如果字符串在没有编码(或解码)的情况下无法正常显示,那么您需要确定使用哪种编码,将名称转换为字节字符串,然后从正确的类型解码。
与许多语言一样,Python开始以正确的方式概念化字符串处理:
答案 2 :(得分:0)
您的操作系统是中文并在cmd窗口中运行脚本?你可以proc.name().encode('gbk')