未加星标

Python第十二天

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二04 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

python第十二天

目录

Pycharm使用技巧(转载)

Python第一天 安装 shell 文件

Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码

Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

Python第四天 流程控制 ifelse条件判断 forwhile循环

Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数

Python第六天 类型转换

Python第七天 函数 函数参数 函数变量 函数返回值 多类型传值 冗余参数 函数递归调用 匿名函数 内置函数 列表表达式/列表重写

Python第八天 模块 包 全局变量和内置变量__name__ Python path

Python第九天 面向对象 类定义 类的属性 类的方法 内部类 垃圾回收机制 类的继承

Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 标准错误 重定向

Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 生成器 walk模块 hashlib模块

收集主机信息

dmidecode

devname

macaddr

ipaddr


示例1
#!/usr/bin/env python
from subprocess import Popen, PIPE
p = Popen(['dmidecode'], stdout=PIPE)
data = p.stdout # 从标准输出读取 返回一个文件对象
lines = []
dmi = {}
a = True
while a:
line = data.readline()
if line.startswith('System Information'):
while True:
line = data.readline()
if line == '\n': # 如果读到空行,那么结束读取,整行就有一个换行符就是空行\n
a = False # 退出外层循环
break
else:
lines.append(line)
dmi_dic = dict([i.strip().split(':') for i in lines]) # 将列表变为字典
dmi['Manufacturer'] = dmi_dic['Manufacturer'].strip()
dmi['Product'] = dmi_dic['Product Name'].strip()
dmi['Serial'] = dmi_dic['Serial Number'].strip()
print dmi
示例2
#!/usr/bin/env python
from subprocess import Popen, PIPE
def getDmi():
p = Popen(['dmidecode'], stdout=PIPE)
data = p.stdout.read()
return data
def parseDmi(data):
lines = []
line_in = False
dmi_list = [i for i in data.split('\n') if i]
for line in dmi_list:
if line.startswith('System Information'):
line_in = True
continue
if line_in:
if not line[0].strip():
lines.append(line)
else:
break
return lines
def dmiDic():
dmi_dic = {}
data = getDmi()
lines = parseDmi(data)
dic = dict([i.strip().split(': ') for i in lines])
dmi_dic['vendor'] = dic['Manufacturer']
dmi_dic['product'] = dic['Product Name']
dmi_dic['sn'] = dic['Serial Number']
return dmi_dic
if __name__ == '__main__':
print dmiDic()

在Python里,以下这些对象相当于布尔值的False

空列表([] )

空元组(() )

空字典({} )

空字符串('' )

零值(0 )

特殊对象None

对象False

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: Python变量数据
分页:12
转载请注明
本文标题:Python第十二天
本站链接:http://www.codesec.net/view/531499.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(34)