Python中使用platform模块获取系统信息的用法教程


Posted in Python onJuly 08, 2016

操作系统相关

  • system() : 操作系统类型(见例)
  • version(): 操作系统版本
  • release(): 操作系统发布号, 例如win 7返回7, 还有如NT, 2.2.0之类.
  • platform(aliased=0, terse=0): 操作系统信息字符串,?O与system()+win32_ver()[:3]
  • win32_ver(release='', version='', csd='', ptype=''): win系统相关信息
  • linux_distribution(distname='', version='', id='', supported_dists=(‘SuSE', ‘debiaare', ‘yellowdog', ‘gentoo', ‘UnitedLinux', ‘turbolinux'), full_distribution_name=1): Linux系统相关信息
  • dist(distname='', version='', id='', supported_dists=(‘SuSE', ‘debian', ‘fedora', ‘redhat', ‘centos', ‘mandrake', ‘mandriva', ‘rocks', ‘slackware', ‘yellowdog', ‘gentoo', ‘UnitedLinux', ‘turbolinux')): 尝试获取Linux OS发布版本信息.返回(distname,version,id). dist是发布版本的意思.
  • mac_ver(release='', versioninfo=(‘', ‘', ‘'), machine=''): mac版本
  • java_ver(release='', vendor='', vminfo=(‘', ‘', ‘'), osinfo=(‘', ‘', ‘')): java版本
  • libc_ver(executable=r'c:\Python27\python.exe', lib='', version='', chunksize=2048): libc版本,linux相关吧.

以上相应版本查询的返回元组和其形参对应.

platform.system()
'Linux' # python 3.3.2+ 64 bits on debian jessie 64 bits
'Windows' # python 3.3.2 32 bits on windows 8.1 64 bits
'Windows' # python 3.3.2 64 bits on windows 8.1 64 bits
'Darwin' # python 3.4.1 64 bits on mac os x 10.9.4
'Java' 

platform.version()
'#1 SMP Debian 3.10.11-1 (2013-09-10)' # python 3.3.2+ 64 bits on debian jessie 64 bits
'6.2.9200' # python 3.3.2 32 bits on windows 8.1 64 bits
'6.2.9200' # python 3.3.2 64 bits on windows 8.1 64 bits
'Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64' # python 3.4.1 64 bits on mac os x 10.9.4

platform()
'Windows-7-6.1.7601-SP1'

win32_ver()
('7', '6.1.7601', 'SP1', u'Multiprocessor Free')

platform.dist()
('debian', 'jessie/sid', '') # python 3.3.2+ 64 bits on debian jessie 64 bits

系统信息

  • uname(): 返回元组,system, node, release, version, machine, processor.
  • architecture(executable=r'c:\Python27\python.exe', bits='', linkage=''): 系统架构
  • machine() : CPU平台,AMD,x86?(见例)
  • node() : 节点名(机器名,如Hom-T400)
  • processor() : CPU信息
  • system_alias(system, release, version): 返回相应元组..没何?庞?
  • platform.architecture()
('64bit', 'ELF') # python 3.3.2+ 64 bits on debian jessie 64 bits
('32bit', 'WindowsPE') # python 2.7.2 32 bits on windows 7 64 bits
('64bit', 'WindowsPE') # python 3.3.2 64 bits on wndows 8.1 64 bits
('64bit', '') # python 3.4.1 64 bits on mac os x 10.9.4

platform.machine()
'x86_64' # python 3.3.2+ 64 bits on debian jessie 64 bits
'AMD64' # python 3.3.2 32 bits on windows 8.1 64 bits
'AMD64' # python 3.3.2 64 bits on windows 8.1 64 bits
'x86_64' # python 3.4.1 64 bits on mac os x 10.9.4

platform.node()
'Hom-T400' 

platform.processor()
'Intel64 Family 6 Model 23 Stepping 10, GenuineIntel'

platform.uname()
('Windows', 'Hom-T400', '7', '6.1.7601', 'AMD64', 'Intel64 Family 6 Model 23 Stepping 10, GenuineIntel')

uname_result(system='Linux', node='work', release='3.10-3-amd64', version='#1 SMP Debian 3.10.11-1 (2013-09-10)', machine='x86_64', processor='') # python 3.3.2+ 64 bits on debian jessie 64 bits
 
uname_result(system='Windows', node='work-xxx', release='8', version='6.2.9200', machine='AMD64', processor='Intel64 Family 6 Model 58 Stepping 9,GenuineIntel') # python 3.3.2 32 bits on windows 8.1 64 bits
 
uname_result(system='Darwin', node='mba', release='13.3.0', version='Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64', machine='x86_64', processor='i386') # python 3.4.1 64 bits on mac os x 10.9.4

Python相关

  • python_version(): py版本号
  • python_branch(): python分支(子版本信息),一般为空.
  • python_build(): python编译号(default)和日期.
  • python_compiler(): py编译器信息
  • python_implementation(): python安装履行方式,如CPython, Jython, Pypy, IronPython(.net)等.
  • python_revision(): python类型修改版信息,一般为空.
  • python_version_tuple():python版本号分割后的tuple.
  • popen(cmd, mode='r', bufsize=None): portable popen() 接口,执行各种命令.
  • python_verison()
'3.3.2+' # python 3.3.2+ 64 bits on debian jessie 64 bits
'3.3.3' # python 3.3.2 32 bits on windows 8.1 64 bits
python_version_tuple()
('2', '7', '2')
python_build()
('default', 'Jun 12 2011 15:08:59')
python_compiler()
'MSC v.1500 32 bit (Intel)'
pl.python_implementation()
'CPython'

获取用户名:

>>> import getpass 
>>> getpass.getuser() 
'root'

获取环境变量:

>>> import os
>>> import pwd
>>> os.environ['LANG']
'en_US.UTF-8'
>>> print os.getenv('LANG')
en_US.UTF-8
>>> print os.getenv('PWD')
/root
>>> print os.getenv('HOME')
/root
>>> print os.getenv('USER')
root
>>> print os.getenv('HOSTNAME')
localhost.localdomain
>>> print os.getenv('SHELL')
/bin/bash
>>> pwd.getpwuid(os.getuid())
pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash')
>>> pwd.getpwuid(os.getuid())[0] #获得用户名
'root'
>>> pwd.getpwuid(os.getuid())[5] #获得家目录
'/root'
>>> pwd.getpwuid(os.getuid())[6] #获得shell
'/bin/bash'

还有个os.environ.get,会返回所有环境变量为一个字典

Python 相关文章推荐
Python获取电脑硬件信息及状态的实现方法
Aug 29 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
python数据封装json格式数据
Mar 04 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
基于python3实现socket文件传输和校验
Jul 28 Python
Win8下python3.5.1安装教程
Jul 29 Python
python如何通过pyqt5实现进度条
Jan 20 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
Jun 10 Python
详解python logging日志传输
Jul 01 Python
Python定时任务APScheduler安装及使用解析
Aug 07 Python
Python中的os.path路径模块中的操作方法总结
Jul 07 #Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 #Python
Python的collections模块中的OrderedDict有序字典
Jul 07 #Python
Python的collections模块中namedtuple结构使用示例
Jul 07 #Python
详解Python的collections模块中的deque双端队列结构
Jul 07 #Python
简单掌握Python的Collections模块中counter结构的用法
Jul 07 #Python
Python处理json字符串转化为字典的简单实现
Jul 07 #Python
You might like
星际流派综述
2020/03/04 星际争霸
php递归函数中使用return的注意事项
2014/01/17 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
js实现列表按字母排序
2020/08/11 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
Python数据类型中的“冒号“[::]——分片与步长操作示例
2018/01/24 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
Python3实现打印任意宽度的菱形代码
2020/04/12 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
通信工程专业女生个人求职信
2013/09/21 职场文书
市场部规章制度
2014/01/24 职场文书
期中考试后的反思
2014/02/08 职场文书
教师现实表现材料
2014/02/14 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
2014年学生工作总结
2014/11/20 职场文书
2014年药剂科工作总结
2014/11/26 职场文书
德能勤绩工作总结
2015/08/11 职场文书
安全教育日主题班会
2015/08/13 职场文书
Golang解析JSON对象
2022/04/30 Golang