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多线程操作实例
Nov 21 Python
详解 Python 与文件对象共事的实例
Sep 11 Python
python os用法总结
Jun 08 Python
python利用ffmpeg进行录制屏幕的方法
Jan 10 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
Python 类属性与实例属性,类对象与实例对象用法分析
Sep 20 Python
python实现while循环打印星星的四种形状
Nov 23 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
为什么称python为胶水语言
Jun 16 Python
python实现计算图形面积
Feb 22 Python
Python机器学习之PCA降维算法详解
May 19 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
PHP n个不重复的随机数生成代码
2009/06/23 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
laravel5.6实现数值转换
2019/10/23 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
django的model操作汇整详解
2019/07/26 Python
简单了解python中的与或非运算
2019/09/18 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
学校节能减排方案
2014/06/13 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
爱国教育主题班会
2015/08/14 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
Django程序的优化技巧
2021/04/29 Python
浅谈Python类的单继承相关知识
2021/05/12 Python