运用Python语言编写获取Linux基本系统信息(一):获得Linux版本、内核、当前时间

申请博客有一段时间了,然而到现在还一篇没有写过。。。。。

主要因为没有想到需要写些什么,最近在学习Python语言,照着书上看了看最基础的东西,发现根本看不进去,而且光看的话今天看了觉得都理解懂了,过两天自己回顾这部分内容的时候发现就又忘了,于是自己就想到自己边学边写一些小程序,以便能更好的让自己记住语法。

一、开发环境以及测试环境

Python2.7.10、pycharm、VM虚拟机、CentOS6.3

二、代码实现

代码结构:

commands.py —> os_info_in.py —> os_info.py  |

                linux_status.py  |-->linux_status_main.py

实现:

commands.py:

实现在Python代码中运行Linux的命令,得到打印的结果集,并返回结果results

1 # coding=UTF-8
2 import os
3 class commands:
4     def __init__(self,comm):
5         self.commend=comm
6     def excute_command(self):
7         result = os.popen(self.commend)
8         results = result.readlines()
9         return results

os_info_in.py:

通过导入刚刚编写的commands.py模块来获取Linux的OS版本号,内核版本号,以及当前的时间。

记录:

eachLine.strip()去掉eachLine前后的空格
findall(‘Description:\t#(.*)‘,afind)搜寻与正则表达式相匹配的内容
 1 #!/usr/bin/env python
 2 # coding=UTF-8
 3 import commands
 4 import re
 5 class os_info_in:
 6     def os_version(self):#获取linux的OS版本号
 7         L_command = commands.commands(‘lsb_release -a‘)
 8         comm=L_command.excute_command()
 9         allLine = []
10         os_ver=‘‘
11         for eachLine in comm:
12             allLine.append(eachLine.strip())
13         for afind in allLine:
14             if re.findall(‘Description:\t#(.*)‘,afind):
15                 os_ver = re.findall(‘Description:\t#(.*)‘,afind)
16         return  os_ver[0]
17     def os_kernel(self):#获取linux的内核版本
18         L_command = commands.commands(‘uname -r‘)
19         comm=L_command.excute_command()
20         allLine = []
21         for eachLine in comm:
22             allLine.append(eachLine.strip())
23         return allLine[0]
24     def os_date(self):#获取系统时间
25         L_command = commands.commands(‘date‘)
26         comm=L_command.excute_command()
27         allLine = []
28         for eachLine in comm:
29             allLine.append(eachLine.strip())
30         return allLine[0]

linux_status.py:

保存获取到的linux状态信息

1 #!/usr/bin/env python
2 # coding=UTF-8
3 #保存linux状态信息
4 #os版本号:os_version
5 #内核版本号:os_kernal
6 #系统当前时间:os_date
7 class linux_status:
8     pass

os_info.py:

通过os_info_in.py获取到的linux状态信息保存到专门储存状态信息的类linux_status中并返回

 1 # coding=UTF-8
 2 import linux_status
 3 import os_info_in
 4 class os_info:
 5     def __init__(self):
 6         self.linux_stat=linux_status.linux_status()
 7         self.os_infos_in= os_info_in.os_info_in()
 8     def os_info(self):
 9         self.linux_stat.os_version = self.os_infos_in.os_version()
10         self.linux_stat.os_kernal = self.os_infos_in.os_kernel()
11         self.linux_stat.os_date = self.os_infos_in.os_date()
12         return self.linux_stat

linux_status_main.py:

测试主函数(打印所获取的信息)

 1 #!/usr/bin/env python
 2 # coding=UTF-8
 3 import linux_status
 4 import os_info
 5
 6 #linux版本,内核,时间
 7 linux=linux_status.linux_status()
 8 os= os_info.os_info()
 9 linux=os.os_info()
10 print ‘系统:‘,linux.os_version
11 print ‘内核:‘,linux.os_kernal
12 print ‘时间:‘,linux.os_date

三、结果展示

由于刚刚接触Python语言,小程序刚刚写完感觉结构很冗余,分成一块一块的比较容易理解,感觉并不用把结果存进一个一个类里面,存到一个字典里面就可以(当时不是很熟悉字典),以后写的获取文件系统状态就是用的字典保存的,先写到这吧,慢慢写。。。

第一次写,希望大神多多提提意见~~~~~嘻嘻~~~~

时间: 2024-10-14 07:01:46

运用Python语言编写获取Linux基本系统信息(一):获得Linux版本、内核、当前时间的相关文章

运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库

运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运用Python语言编写获取Linux基本系统信息(二):文件系统使用情况获取 一.实验环境: Python2.7.10.pycharm.VM虚拟机.CentOS6.3.mysql 二.MySQLdb模块: MySQLdb模式是Python中专门连接MySQL数据库的模块,另外Python开发环境的搭

Kitty:Python语言编写的Fuzzing框架

Kitty是一款用Python语言编写的开源的模块化.可扩展的模糊测试框架,灵感来源于OpenRCE’s Sulley 和 Michael Eddington的 (现在为Deja Vu Security的) Peach Fuzzer . 目标 我们开始写Kitty的时候,目的是帮助我们fuzz特殊的目标.也就就是运行于非TCP/IP通道上的私有和内部协议.一个通用.抽象的框架应该包含所有我们能想到的模糊测试过程中用到的所有通用功能,并且能方便用户扩展,以便用来攻击特定目标. 特性 心中有了这样的

Web2py是一个用Python语言编写的免费的开源Web框架

Zope 2是一款基于Python的Web应用框架,是所有Python Web应用程序.工具的鼻祖,是Python家族一个强有力的分支.Zope 2的"对象发布"系统非常适合面向对象开发方法,并且可以减轻开发者的学习曲线,还可以帮助你发现应用程序里一些不好的功能. Web2py是一个用Python语言编写的免费的开源Web框架,旨在敏捷快速的开发Web应用,具有快速.可扩展.安全以及可移植的数据库驱动的应用,遵循LGPLv3开源协议. Web2py提供一站式的解决方案,整个开发过程都可

搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!

为提高大家对"Python"编程语言的学习兴趣,今天给大家分享几款有趣的Python程序代码,感兴趣的小伙伴可以跟着学习借鉴哦!进群:839383 765可以获取Python学习资料哦! 分享一:"啥是佩奇?"让Python语言告诉你用Python代码创作一副佩奇: <pre style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Co

[转载]Linux 环境下编译 0.11版本内核 kernel

最近在看<linux内 核0.11完全注释>一书,由于书中涉及汇编语言的地方众多,本人在大学时汇编语言学得一塌糊涂,所以实在看不下去了,头都大了只好匆匆看了个头尾(前面 几章和最后一章).看来即使有<九阴真经>这样的武功秘籍,内功不够也是修炼不出来神马来的.于是索性下了个0.11版本的kernel下来尝试编译一 把. linux-0.11.tar.gz 下载地址: 下面开始工作: 1. tar xvfz linux-0.11.tar.gz 2. cd linux-0.11 3. m

用python语言编写网络爬虫

本文主要用到python3自带的urllib模块编写轻量级的简单爬虫.至于怎么定位一个网页中具体元素的url可自行百度火狐浏览器的firebug插件或者谷歌浏览器的自带方法. 1.访问一个网址 re=urllib.request.urlopen('网址‘) 打开的也可以是个urllib.request.Request对象,后边也可以跟数据参数,当有传入数据时会自动变为POST请求: 2.urllib.request.Request(url,data=None,headers={})对象 属性:

使用python语言编写脚本控制freeswitch总结

1.  在Linux环境下已经安装了freeswitch,(没安装freeswitch,请安装说明文档) 2.  进入源代码目录 cd  libs/esl 目录下 首先安装 yum install python-devel l  首先安装 python-devel,执行yum install python-devel l  make pymod l  make pymod-install 3.安装pip工具参照前面的一篇博客 4.安装swig工具,yum install swig 5.安装完成p

乐搏讲自动化测试 - Python语言编写规则(10)

(1)编码:默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码:例如 # -- coding: cp-1252 --,这个定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语.白罗斯语.马其顿语.俄语.塞尔维亚语. (2)标识符:1..第一个字符必须是字母表中字母或下划线 _ .2.标识符的其他的部分由字母.数字和下划线组成.3.标识符对大小写敏感.在 Python

Python语言编写脚本时,对日期控件的处理方式

对日期控件,日期控件的输入控一般是不能手动输入的:把readonly属性去掉就好 其实很简单,我们不去搞时间日期空间,我们把它当成一个普通的input框处理就好了! 但是,很多此类型input框都是禁止手动输入的,怎么办? 很简单,用js把禁止输入的readonly属性去掉就好了.如下四种方法都可 # -*- coding: utf-8 -*- from selenium import webdriver from time import sleep driver = webdriver.Fir