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的反射机制
Jun 28 Python
Python全局变量用法实例分析
Jul 19 Python
Python常用内置模块之xml模块(详解)
May 23 Python
python里使用正则表达式的组嵌套实例详解
Oct 24 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
Python使用matplotlib简单绘图示例
Feb 01 Python
python发送邮件脚本
May 22 Python
Python FTP两个文件夹间的同步实例代码
May 25 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 Python
Python+unittest+requests 接口自动化测试框架搭建教程
Oct 09 Python
Python实现数据的序列化操作详解
Jul 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
php获取网页内容方法总结
2008/12/04 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
10款实用的PHP开源工具
2015/10/23 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
基于JQuery的简单实现折叠菜单代码
2010/09/15 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
小程序实现留言板
2018/11/02 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
python基于pyDes库实现des加密的方法
2017/04/29 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
对python sklearn one-hot编码详解
2018/07/10 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
python迭代器常见用法实例分析
2019/11/22 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
python中的对数log函数表示及用法
2020/12/09 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
看古人们是如何赞美老师的?
2019/07/08 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS