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

简介:

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

image

image

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/python
# encoding: utf-8
# -*- coding: utf8 -*-
"""
Created by PyCharm.
File:               LinuxBashShellScriptForOps:performanceOps.py
User:               Guodong
Create Date:        2016/9/21
Create Time:        18:11
  """
import  psutil
import  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 :
         break
print  table

代码也可以从GitHub上获取,https://github.com/DingGuodong/LinuxBashShellScriptForOps/blob/master/functions/process/performanceOps.py

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

--end--




本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1855467,如需转载请自行联系原作者


相关文章
|
10天前
|
存储 编译器 C语言
深入探索C语言动态内存分配:释放你的程序潜力
深入探索C语言动态内存分配:释放你的程序潜力
26 0
|
2天前
|
索引 容器
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
|
3天前
|
存储 索引 Python
python学习5-列表的创建、增删改查、排序
python学习5-列表的创建、增删改查、排序
|
6天前
|
开发者 索引 Python
实践:如何使用python在网页的表格里抓取信息
实践:如何使用python在网页的表格里抓取信息
|
9天前
|
索引 Python 容器
python 数据类型之列表
python 数据类型之列表
|
16天前
|
存储 Java 程序员
【Python】6. 基础语法(4) -- 列表+元组+字典篇
【Python】6. 基础语法(4) -- 列表+元组+字典篇
39 1
|
16天前
|
存储 监控 异构计算
【Python】GPU内存监控脚本
【Python】GPU内存监控脚本
|
22天前
|
程序员 C语言 Python
Python列表推导式:简洁与高效的编程利器
在Python编程中,列表推导式(List Comprehension)是一种强大且优雅的工具,它允许我们以简洁的方式创建新的列表。列表推导式在Python程序员中广受欢迎,因为它能够将复杂的循环和条件语句简化为一行代码,提高代码的可读性和执行效率。
|
27天前
|
Python
python列表问题
python列表问题
|
28天前
|
存储 前端开发 C++
【Python 基础教程 09】全面掌握Python3列表:从入门到精通的综合教程与实战指南
【Python 基础教程 09】全面掌握Python3列表:从入门到精通的综合教程与实战指南
88 1