内容目录
原文链接: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的版本号、编译时间。
System | platform 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')