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 socket多线程通讯实例分析(聊天室)
Apr 06 Python
Python批量修改文本文件内容的方法
Apr 29 Python
python实现多线程的两种方式
May 22 Python
使用python实现个性化词云的方法
Jun 16 Python
Python标准库之itertools库的使用方法
Sep 07 Python
python读取文件名称生成list的方法
Apr 27 Python
Django学习教程之静态文件的调用详解
May 08 Python
pytorch训练imagenet分类的方法
Jul 27 Python
深入理解Django自定义信号(signals)
Oct 15 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
Python如何在bool函数中取值
Sep 21 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
收集的DedeCMS一些使用经验
2007/03/17 PHP
Phpbean路由转发的php代码
2008/01/10 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
python Django模板的使用方法
2016/01/14 Python
用python找出那些被“标记”的照片
2017/04/20 Python
python实现图片批量压缩程序
2018/07/23 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
如何利用find命令查找文件
2015/02/07 面试题
大学生村官工作感言
2014/01/10 职场文书
合作协议书范本
2014/04/17 职场文书
供货协议书范本
2014/04/22 职场文书
商场周年庆活动方案
2014/08/19 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
2015年保洁员工作总结
2015/05/04 职场文书
四群教育工作总结
2015/08/10 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
Mysql案例刨析事务隔离级别
2021/09/25 MySQL