PHP前端开发

分享Python以表格的形式打印占用内存Top10的程序列表

百变鹏仔 4小时前 #Python
文章标签 表格

此题目涉及到python对进程的操作、for循环计数循环次数、排序与打印表格等,题目比较简单,效果图如下:

代码如下:

#!/usr/bin/python# encoding: utf-8# -*- coding: utf8 -*-"""Created by PyCharm.File:               LinuxBashShellScriptForOps:performanceOps.pyUser:               GuodongCreate Date:        2016/9/21Create Time:        18:11 """import psutilimport prettytable ps_result = list() for proc in psutil.process_iter():    ps_result.append({'name': proc.name(), 'pid': proc.pid, 'cpu_percent': proc.cpu_percent(),                      'memory_percent': proc.memory_percent()}) table = prettytable.PrettyTable()table.field_names = ["No.", "Name", "pid", "Memory percent"]for i, item in enumerate(sorted(ps_result, key=lambda x: x['memory_percent'], reverse=True)):    table.add_row([i + 1, item['name'], item['pid'], format(item['memory_percent'] / 100, '.2%')])    if i >= 9:        breakprint table

其中用到了两个主要的第三方模块,psutil(用于获取进程信息)和prettytable(用于打印表格),Windows和Linux系统上均可使用,如果提示“ImportError: No module named xxxx”,则可以执行命令pip install xxxx或者easy_install xxxx。

立即学习“Python免费学习笔记(深入)”;