此題目涉及到Python對進程的操作、for循環計數循環次數、排序與列印表格等,題目較簡單,效果圖如下:
程式碼如下:
#!/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
其中用到了兩個主要的第三方模組,psutil(用於取得進程資訊)和prettytable(用於列印表格),Windows和Linux系統上皆可使用,如果提示“ImportError: No module named xxxx”,則可以執行指令pip install xxxx或easy_install xxxx。
以上是分享Python以表格的形式列印佔用記憶體Top10的程式列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!