1. 程式人生 > >python獲取系統資訊模組詳解

python獲取系統資訊模組詳解

python是跨平臺語言,有時候我們的程式需要執行在不同系統上,例如:linux、MacOs、 Windows,為了使程式有更好通用性,需要根據不同系統使用不同操作方式。我們可以使用platform模組來獲取系統資訊。
platform是python自帶模組,我們可以直接使用,下面來介紹這個模組:
首先匯入模組:import platform,常用方法如下:

方法 說明
platform.platform() 獲取作業系統及版本資訊
platform.version() 獲取系統版本號
platform.system() 獲取系統名稱
platform.architecture() 系統位數(例如:32Bit, 64bit)
platform.machine() 計算機型別,例如:x86, AMD64
platform.node() 計算機名稱,例如:xxx-PC
platform.processor() 處理器型別
platform.uname() 以上所有資訊

下面我們實際看下在window下獲取資訊:

def showinfo(tip, info):
    print("{}:{}".format(tip,info))
showinfo("作業系統及版本資訊",platform.platform())
showinfo('獲取系統版本號',platform.version())
showinfo('獲取系統名稱', platform.system())
showinfo('系統位數', platform.architecture())
showinfo('計算機型別', platform.machine())
showinfo('計算機名稱', platform.node())
showinfo('處理器型別', platform.processor())
showinfo('計算機相關資訊', platform.uname())

輸出結果如下:

作業系統及版本資訊:Windows-10-10.0.17134-SP0
獲取系統版本號:10.0.17134
獲取系統名稱:Windows
系統位數:('64bit', 'WindowsPE')
計算機型別:AMD64
計算機名稱:DESKTOP-83IAUFP
處理器型別:Intel64 Family 6 Model 142 Stepping 10, GenuineIntel
計算機相關資訊:uname_result(system='Windows', node='DESKTOP-83IAUFP', release='10', version='10.0.17134', machine='AMD64', processor='Intel64 Family 6 Model 142 Stepping 10, GenuineIntel')

我們再換Ubuntu執行,輸出結果如下:

作業系統及版本資訊:Linux-4.13.0-39-generic-x86_64-with-debian-stretch-sid
獲取系統版本號:#44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018
獲取系統名稱:Linux
系統位數:('64bit', '')
計算機型別:x86_64
計算機名稱:ubuntu
處理器型別:x86_64
計算機相關資訊:uname_result(system='Linux', node='ubuntu', release='4.13.0-39-generic', version='#44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018', machine='x86_64', processor='x86_64')
我們可以根據platform.system()獲取系統型別。
下面我們使用platform獲取Python版本相關資訊,主要方法如下:
方法 說明
platform.python_build() Python編譯資訊
platform.python_version() 獲取Python版本資訊

我們來看下當前使用Python相關資訊:

def showinfo(tip, info):
    print("{}:{}".format(tip,info))
showinfo('編譯資訊:', platform.python_build())
showinfo('版本資訊:', platform.python_version())

輸出結果:

編譯資訊::('default', 'Oct 28 2018 19:44:12')
版本資訊::3.6.7

如果我們想要獲取系統相關資訊直接可以使用platform模組。
更多Python知識可以關注老貓專欄:
http://blog.51cto.com/cloumn/detail/34