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随机生成带特殊字符的密码
Mar 02 Python
利用Anaconda完美解决Python 2与python 3的共存问题
May 25 Python
Python中XlsxWriter模块简介与用法分析
Apr 24 Python
Php多进程实现代码
May 07 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
May 24 Python
python os.listdir按文件存取时间顺序列出目录的实例
Oct 21 Python
Python selenium页面加载慢超时的解决方案
Mar 18 Python
Django实现图片上传功能步骤解析
Apr 22 Python
通过Python实现一个简单的html页面
May 16 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Python还能这么玩之用Python修改了班花的开机密码
Jun 04 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/17 数码科技
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
python中lambda与def用法对比实例分析
2015/04/30 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
详解Python中的动态属性和特性
2018/04/07 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
Python之Sklearn使用入门教程
2021/02/19 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
公关关系专员的自我评价分享
2013/11/20 职场文书
结婚典礼证婚词
2014/01/11 职场文书
寄语学生的话
2014/04/10 职场文书
常住证明范本
2015/06/23 职场文书
浅谈MySQL函数
2021/10/05 MySQL
Redis高并发缓存架构性能优化
2022/05/15 Redis