實驗:將系統程式對映移到 Python 字典中
參考官方文件,測試下列程式碼,把oracle的程式對映到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'},
.................................
[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'},
.................................
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29135257/viewspace-2123401/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python 將所有 Bug 遷移到 GitHub 中PythonGithub
- Python將字串轉為字典最佳實踐Python字串
- 【作業系統】頁表對映作業系統
- python實現兩字串對映詳解Python字串
- 對系統快捷生成字典進行修改
- 將spfile從ASM裡遷移到檔案系統ASM
- 將ServiceLoader遷移到Java 9模組系統 - frankelJava
- 將 CentOS 8 作業系統遷移到 Oracle LinuxCentOS作業系統OracleLinux
- python 關係對映Python
- 作業系統實驗——程式控制作業系統
- 一文讀懂Python中的對映Python
- java高階用法之:在JNA中將本地方法對映到JAVA程式碼中Java
- 如何將csf ip 埠對映
- 將json資料轉換為Python字典將json資料轉換為Python字典JSONPython
- Python對字典進行排序Python排序
- python怎麼對字典排序Python排序
- Python中字典dictPython
- Python中的字典Python
- 如何將eosDAC代幣對映到EOS主網中
- Python 決定放棄 BPO,將所有 Bug 遷移到 GitHub 中PythonGithub
- 學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景
- MapStruct實體對映Struct
- Lec 07 作業系統管理頁表對映作業系統
- ElasticSearch中的對映Elasticsearch
- Python 字典實現原理Python
- Python實現建立字典Python
- Python中字典的操作Python
- 在Python中將字典轉為成員變數的方法Python變數
- Windows是如何將64位Ntdll對映到32位程式的Windows
- mybatis中註解對映SQL示例程式碼MyBatisSQL
- 如何將物理機Windows系統遷移到VMware虛擬機器?Windows虛擬機
- Python中遍歷字典以及字典中的鍵和值Python
- python 對字典的值進行排序Python排序
- python字典如何刪除鍵值對Python
- python中的字典賦值操作怎麼實現?Python賦值
- 作業系統概念-程式控制 實驗報告作業系統
- 作業系統實驗(一)-Shell程式設計作業系統程式設計
- Python中字典使用詳解Python
- python中的集合與字典Python