使用Python获取Linux系统的各种信息
在本文中,我们将会探索使用Python编程语言工具来检索Linux系统各种信息。走你。
哪个Python版本?
当我提及Python,所指的就是CPython2(准确的是2.7).我会显式提醒那些相同的代码在CPython3(3.3)上是不工作的,以及提供一份解释不同之处的备选代码。请确保你已经安装了CPython,在终端上输入python或者python3回车,然后你在终端上应该能看到python的提示符(prompt)。
请注意,所有的程序在它们第一行都是#!/usr/bin/env/python,也就是说,我们想要Python的解释器来执行这些脚本。因此,如果你想你的脚本具有执行性,请使用chmod+xyour-script.py,那么你就可以使用./your-script.py来执行它了(在本文中你将会看到这种方式)
探索platform模块
platform模块在标准库中,它有很多运行我们获得众多系统信息的函数。让我们运行Python解释器来探索它们中的一些函数,那就从platform.uname()函数开始吧:
>>>importplatform >>>platform.uname() ('Linux','fedora.echorand','3.7.4-204.fc18.x86_64','#1SMPWedJan2316:44:29UTC2013','x86_64')
如果你已知道linux上的uname命令,那么你就会认出来这个函数就是这个命令的一个接口。在Python2上,它会返回一个包含系统类型(或者内核版本),主机名,版本,发布版本,机器的硬件以及处理器信息元组(tuple)。你可以使用下标访问个别属性,像这样:
>>>platform.uname()[0] 'Linux'
在Python3上,这个函数返回的是一个命名元组:
>>>platform.uname()
uname_result(system='Linux',node='fedora.echorand', release='3.7.4-204.fc18.x86_64',version='#1SMPWedJan2316:44:29 UTC2013',machine='x86_64',processor='x86_64')