Python进阶教程m3–系统、平台

原文链接:http://www.juzicode.com/archives/698

导入sys和platform模块,可以获取到操作系统、Python版本等信息。

1 sys

1.1 sys.platform、 sys.version

sys.platfom存储表示操作系统类别的字符串, 注意这里即使是64位系统在windows系统上返回的也是‘win32’。

sys.version存储Python的版本号、编译时间。

Systemplatform value
Linux‘linux’
Windows‘win32’
Windows/Cygwin‘cygwin’
Mac OS X‘darwin’
import sys
print('sys.platform:', sys.platform)
print('sys.version:',sys.version)


==========结果(win10):
sys.platform: win32
sys.version: 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)]

==========结果(unbutu20.4):
sys.platform: linux
sys.version: 3.8.2 (default, Mar 13 2020, 10:14:16)

1.2 获取windows系统信息:sys.getwindowsversion()

Windows系统专用,Linux等其他操作系统无效。


import sys
info = sys.getwindowsversion()
 
print('系统主版本:',info.major)
print('系统次版本:',info.minor)
print('系统build版本:',info.build)
print('系统platform:',info.platform)
print('系统service_pack:',info.service_pack)

==========结果:
-----欢迎来到www.juzicode.com
-----公众号: juzicode/桔子code

系统主版本: 10
系统次版本: 0
系统build版本: 18363
系统platform: 2
系统service_pack:

1.3 获取文件系统编码 sys.getfilesystemencoding()

import sys
print('sys.getfilesystemencoding:',sys.getfilesystemencoding())

==========结果:
sys.getfilesystemencoding: utf-8

2 platform

platform模块不同于sys.platfrom,它是一个单独的模块,也能获取到操作系统和python的版本等信息。

2.1 platform.architecture()、 platform.machine()

architecture()可以获取到Python解释器的bit版本和链接文件类型,返回一个包含2个字符串元素的tuple。第1个是Python的bit版本,如果是64位操作系统,这个值并不一定就是64,而是根据Python解释器的bit版本决定的。第2个是连接文件类型,windows下显示的是WindowsPE,ubuntu20.4显示的是ELF。

machine()函数返回的是机器类型,64位系统在windows下显示为AMD64,ubuntu显示的是x86_64

import platform
print('architecture():',platform.architecture())
print('machine():',platform.machine())

==========结果(win10):
architecture(): ('64bit', 'WindowsPE')
machine(): AMD64

==========结果(unbutu20.4):
architecture(): ('64bit', 'ELF')
machine(): x86_64

2.2 platform.system()、 platform.platform()

system()可以获取操作系统的类型,platform()获取系统的详细版本:

import platform
print('system():',platform.system())
print('platform():',platform.platform())

==========结果(win10):
system(): Windows
platform(): Windows-10-10.0.18362-SP0

==========结果(unbutu20.4):
system(): Linux
platform(): Linux-4.4.0-18362-Microsoft-x86_64-with-glibc2.29

2.3 platform.python_xyz()

获取python相关的版本信息:

import platform
print('python_version():',platform.python_version())    #python版本
print('python_build():',platform.python_build())        #构建信息
print('python_compiler():',platform.python_compiler())  #编译器版本
print('python_implementation():',platform.python_implementation()) #python解释器类型
print('python_version_tuple():',platform.python_version_tuple())    #python版本元组

==========结果(win10):
python_version(): 3.8.3
python_build(): ('tags/v3.8.3:6f8c832', 'May 13 2020 22:37:02')
python_compiler(): MSC v.1924 64 bit (AMD64)
platform.python_implementation(): CPython
python_version_tuple(): ('3', '8', '3')

==========结果(unbutu20.4):
python_version(): 3.8.2
python_build(): ('default', 'Mar 13 2020 10:14:16')
python_compiler(): GCC 9.3.0  
python_implementation(): CPython
python_version_tuple(): ('3', '8', '2')

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注