Python-Psutil的百分比
我有一个用python制作的任务管理器,它使用wx使其成为一个gui界面,但我使用psutil来获取进程的内存使用百分比问题是它将其放在十进制中,我尝试的所有操作都会导致它根本不显示进程。我曾尝试在显示百分比的某些内容之后添加.percent,但这不起作用这是获取要显示的数据的代码的一部分:Python-Psutil的百分比,python,Python,我有一个用python制作的任务管理器,它使用wx使其成为一个gui界面,但我使用psutil来获取进程的内存使用百分比问题是它将其放在十进制中,我尝试的所有操作都会导致它根本不显示进程。我曾尝试在显示百分比的某些内容之后添加.percent,但这不起作用这是获取要显示的数据的代码的一部分: def updateDisplay(self): pids = psutil.get_pid_list() for pid in pids: try:
def updateDisplay(self):
pids = psutil.get_pid_list()
for pid in pids:
try:
p = psutil.Process(pid)
new_proc = Process(p.name,
str(p.pid),
p.exe,
p.username,
str(p.get_cpu_percent()),
str(p.get_memory_percent())
)
self.procs.append(new_proc)
except:
pass
self.setProcs()
如果你需要全部代码,请告诉我。
因此,让我再次总结一下我想要显示的内容,我想将get_memory_percent显示为百分比,而不是小数。首先,该方法已经以百分比的形式调用结果,只是不是以所需的格式,因此
/100
在这里没有意义
你的最终目标还不清楚,所以我有几个选择给你。如果您的目标是打印一个四舍五入的2位小数字符串,字符串后面有一个百分比符号,则可以这样做:
“{.2%}”。格式(四舍五入(p.get\u cpu\u percent(),2))
但是,如果小数点后没有尾随数字:
“{.0%}”。格式(四舍五入(p.get\u cpu\u percent(),2))
最后,如果没有百分号,只需要数字:
“{.2}”。格式(四舍五入(p.get\u cpu\u percent(),2))
尽量做到具体,这将增加你得到及时、准确答案的机会 请参阅将小数点转换为%不确定我将如何做,但如果我想这样做,我认为它不会起作用,因为我使用另一个模块在列表(对象列表视图)中打印百分比。问题不太清楚。你得到的确切数据是什么?你需要它是什么形状?给我们一些例子,数据类型等等,而不仅仅是“它用十进制表示”。(什么放什么?)我使用psutil在对象列表视图中打印所有进程和使用的内存量我希望它以百分比而不是小数表示确定我得到了百分比,但我如何舍入它?我现在有'code'str(p.getmem_percent()*100)'code'