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

操作系统相关

system() : 操作系统类型(见例)
version(): 操作系统版本
release(): 操作系统发布号, 例如win 7返回7, 还有如nt, 2.2.0之类.
platform(aliased=0, terse=0): 操作系统信息字符串,扥与system()+win32_ver()[:3]
win32_ver(release=”, version=”, csd=”, ptype=”): win系统相关信息
linux_distribution(distname=”, version=”, , supported_dists=(‘suse’, ‘debiaare’, ‘yellowdog’, ‘gentoo’, ‘unitedlinux’, ‘turbolinux’), full_distribution_name=1): linux系统相关信息
dist(distname=”, version=”, , 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_uroot’, 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,会返回所有环境变量为一个字典

Posted in 未分类

发表评论