Python 在 Linux 系统运维中都有哪些应用

Python020

Python 在 Linux 系统运维中都有哪些应用,第1张

本人主要用shell,结合工作经验,给出如下常用功能:

1.制作定时任务,可以获得系统状态,然后截取系统状态,发送至故障监控平台或短信平台,实现故障的自动预警。

2.提取数据,形成文本,处理文本,得到规格化的数据,提供给相关部门使用。

3.制作shell交互式菜单,提供给其他运维值班人员使用,用以手工监控系统各种状态

4.版本升级、系统变更等操作需要使用。

很多网站上都有python教程,不一而足,本篇教程会结合我在实际开发过程中遇到的问题,总结出很多有意思的小tricks。我会把你当做python小白来看待,所以不要心急和担心,一步步的讨教一下python的招式。

python是一门动态语言,它可以在运行时声明和使用变量,同时它也是一种强类型的语言,这一点有别于PHP,python会提供强制类型转换的方法,与java类似,但是PHP的话编译器会自动识别你所运用的变量到底是哪种类型。

注意 :‘123’可以通过int()来转化成123,但是别的非数字字符串就不可

同时python也是支持复数运算的一门语言,虚部由一个后缀"j"或者"J"来表示。带有非零实部的复数记为"real+imagj",或者通过 complex(real, img) 函数创建。记得以前c++中最经典的一些题目就是重载+运算符,使其可以支持复数运算。来看几个例子:

假设复数为z,那么它的实部就为z.real 虚部就为z.imag

注意

不能将复数转化成常用的变量类型。你可以用abs函数取模。

在shell交互模式下,最近一次的计算结果保存在变量_(下划线)中,这样就可以很方便的进行运算操作。

python里面有一个string的module,我们先从最基本的开始讲起。

想必你对转义字符并不陌生,在python中也保留了这一转义传统,加入你在字符后面打上\,说明接下来的字符串是\之前的逻辑后缀:

将得到

那么很明显,‘\n’就是我们熟悉的换行,\是逻辑继续符号。具体的输出格式你需要根据自己的shell跑跑看。

如果我们创建一个“行”("raw")字符串,\ n序列就不会转为换行,源码中的反斜杠和换行符n都会做为字符串中的数据处理

你将得到:

但是:

如果你还是嫌太麻烦,那么就用三引号(""")来包裹字符串,这样的话两个三引号之间不需要进行行尾换行处理。

同时,就像你想的那样,字符串可以相加可以乘以一个数字进行成倍的复制,更令人吃惊的时两个字符串的值可以自动的粘黏在一起:

但是这个功能仅仅针对字符串常量。

接下来要讲到的一个字符串的功能跟python中的数组有莫大的关联,其实这句话是废话,一般而言字符串也不过就是一个储存在内存中的字符数组,但是我这句话的本意是想表达,python的数组,更严格来讲是list,有一个很强大的功能,那就是 切片 。

初学者可能还无法领会切片使用的奥义,那么我们来举几个例子你就能体会为什么这个功能是很多人选择python的理由。

所以现在你回头看看你以前熟悉的那些硬语言,没有哪一种是可以像这样操作数组或者列表的,这样就给数据结构和算法提供的莫大的方便。链表的操作跟上述的操作道理是一样的。这里不赘述了。

在介绍python中的核心概念module之前,相比你们都尝试过import这个功能,没错,python的强大之处就在于它的第三方包,这些包在python简洁的基础之上又进行了整理,使得语法更加的简单明了,更加地人性化。这里我们以string这个module为例子,介绍一下有关module的使用,希望大家可以举一反三。

无论对于哪一种语言来讲,字符串的操作是重中之重,为此大部分语言都将其作为一个单独的类或者包列出来,提供对字符串操作的方法。python也不例外。

首先打开你的终端(linux用户,windows就cmd吧),分别输入以下命令:

1 python

2 import stirng

3 dir(string)

会出现以下一大坨:

这些就是string这个module里面所包含的默认属性以及方法(属于类以级别,可按照java中的类方法理解),那些奇奇怪怪的下划线看不懂不要紧,下一篇文章我会解释。如果想知道其中某个函数比如find的用法,请在终端这么做: help(string.find) ,那么就会出现:

它会给你一个抽象方法和一个具体方法,如上,星号看不懂也没有关系,下章会讲,仅仅先当做参数。

那么string中常见的几个函数用法给大家列一下,具体情况具体help

高度预警:

函数'atoi'可以把string类型变量转化为int类型变量,但是仅限于转数字字符串类型

那么第一章就以string module结尾。

未完待续,求打脸,求评论,求口水。