实验:将系统进程映射移到 Python 字典中
[oracle@ycr python]$ more pro_get.py
import re
import subprocess
args = ['ps', 'aux']
ps = subprocess.Popen(args, stdout=subprocess.PIPE)
processes = ps.stdout.readlines()
header = re.split('\s+', processes.pop(0))[:-1]
header.remove('COMMAND')
PS = {}
for process in processes:
columns = re.split('\s+', process)
if columns[0]!='oracle':
continue
PS[int(columns[1])] = {}
for position, column in enumerate(columns[:9]):
PS[int(columns[1])][header[position].lower()] = column
PS[int(columns[1])]['command'] = ' '.join(columns[10:])
from pprint import pprint
pprint(PS)
输出结果如下:
[oracle@ycr python]$ python pro_get.py
{2564: {'%cpu': '0.0',
'%mem': '1.4',
'command': 'ora_pmon_ycr ',
'pid': '2564',
'rss': '27276',
'start': '04:09',
'stat': 'Ss',
'tty': '?',
'user': 'oracle',
'vsz': '1089560'},
2566: {'%cpu': '0.0',
'%mem': '1.0',
'command': 'ora_psp0_ycr ',
'pid': '2566',
'rss': '20112',
'start': '04:09',
'stat': 'Ss',
'tty': '?',
'user': 'oracle',
'vsz': '1089560'},
2568: {'%cpu': '1.9',
'%mem': '1.0',
'command': 'ora_vktm_ycr ',
'pid': '2568',
'rss': '19724',
'start': '04:09',
'stat': 'Ss',
'tty': '?',
'user': 'oracle',
'vsz': '1089560'},
2572: {'%cpu': '0.0',
'%mem': '1.7',
'command': 'ora_gen0_ycr ',
'pid': '2572',
'rss': '34032',
'start': '04:09',
'stat': 'Ss',
'tty': '?',
'user': 'oracle',
'vsz': '1091300'},
.................................
实验:将系统进程映射移到 Python 字典中的更多相关文章
- python字典中的元素类型
python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...
- 判断python字典中key是否存在的两种方法
今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下: 第一种方法:使用自带函数实现. 在python的字典的属性方法里面有一个has_key()方法,这个方法使 ...
- python字典中添加项
body_daily_close = { "mappings": { "properties": { "trade_date": { &qu ...
- 十四、python字典中的方法汇总
'''1.访问.修改,删除字典中的值:''' dict={'a':'11','b':'22','c':'33','d':'44'}print dict['a'],dict['d'] #访问dict[' ...
- 【python-字典】判断python字典中key是否存在的
一般有两种通用做法: 第一种方法:使用自带函数实现: 在python的字典的属性方法里面有一个has_key()方法: #生成一个字典 d = {'name':Tom, 'age':10, 'Tel' ...
- Python 字典中一键对应多个值
#字典的一键多值 print'方案一 list作为dict的值 值允许重复' d1={} key=1 value=2 d1.setdefault(key,[]).append(value) value ...
- python 字典中 重复值去除
tuple_r_dict = lambda _dict: dict(val[::-1] for val in _dict.items()) # Python3.x tuple_r_dict(tuple ...
- Python字典中的值为列表或字典的构造方法
转自: https://blog.csdn.net/buside/article/details/81323871 1.值为列表的构造方法 dic = {} dic.setdefault(key,[] ...
- python字典中dict.get()和dict.setdefault()的异同点
相同点: 两者是参数相同:dict.get(key, default=None), dict.setdefault(key, default=None) 如果指定的键不存在时,两者都返回默认值,默认是 ...
随机推荐
- webstorm识别 ftl文件
webstorm对freemaker语法是原生支持的,也不需要安装什么插件,你可以直接在webstorm新建个File Types即可 file->settings->file types ...
- 最小生成树的kruskal、prim算法
kruskal算法和prim算法 都说 kruskal是加边法,prim是加点法 这篇解释也不错:这篇 1.kruskal算法 因为是加边法,所以这个方法比较合适稀疏图.要码这个需要先懂并查集.因为我 ...
- vm12下Centos6安装mysql5.7
一.下载mysql的rpm tar文件 文件名称:mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar官方地址:https://dev.mysql.com/get/Down ...
- html自定义垂直导航菜单(加强版--自定义传入menu参数,支持JSONArray、JSArray、JSONObject、JSObject)
在上一篇中我简单写了个html自定义垂直导航菜单,缺点很明显,里面的数据是固定死的,不能动态更改数据. 这里我重写了一个修改版的垂直二级导航菜单,将原先的menuBox.init(config);修改 ...
- mysql 锁问题 (相同索引键值或同一行或间隙锁的冲突)
1.使用相同索引键值的冲突 由于mysql 的行锁是针对索引加的锁,不是针对记录加的锁,所以虽然是访问不同行的记录,但如果是使用相同的索引键,是会出现锁冲突的.设计时要注意 例如:city表city_ ...
- jQuery.form开发手记
介绍使用API说明ajaxFormajaxSubmitfieldSerializeresetFormclearFormclearFields参数示例 一般情况下其实提交表单我们将数据$(" ...
- 日志logback
http://tengj.top/2017/04/05/springboot7/ ------------------ logback使用指南. 公司配置 <?xml version=" ...
- centos7 中文乱码问题解决方法
1.查看是否安装中文包 可以使用下面的命名查看系统是否安装了中文安装包. locale -a |grep "zh_CN" 没有输出,说明没有安装,输入下面的命令安装: yum gr ...
- JS异步上传Excel 并使用NPOI进行读写操作
实现功能 导入——客户端使用 ajaxfileupload.js 插件实现Excel的异步上传,并在服务端解析成JSON字符串返回页面 导出——将页面中的grid表拼接成JSON串上传至服务器,在服务 ...
- pat1005. Spell It Right (20)
1005. Spell It Right (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given ...