标签归档:Python

写一个python 聊天机器人

介绍
聊天机器人对企业组织和客户都非常有帮助。 大多数人都喜欢直接从聊天室进行交谈,而不是致电服务中心。 Facebook发布的数据证明了机器人的价值。 每月在人与公司之间发送的消息超过20亿条。 HubSpot的研究告诉我们,有71%的人希望通过消息传递应用程序获得客户支持。 这是解决问题的快速[……]

继续阅读

如何在django里上传csv文件并进行入库处理

运维平台导入数据这一功能实在是太重要了,我敢说在没有建自己的cmdb平台前,大多数公司管理服务器信息肯定是表格,用表格最麻烦的就是有点更新就得每个人发一份,这样大家信息才能统一,很不方便,终于有一天受不了了,搞了一个服务器信息管理平台,那面临的第一个问题不是说功能好或不不好,而是怎么才能把表里的数据[……]

继续阅读

python基础17-并发编程(2)

上篇我们介绍了Python的多线程模式,也了解了在python中有GIL这么个东西,所以cpu密集型的程序在python中是无法实现真正并发的,因为实际执行的还的单个线程,可现在的服务器都至少是16核,那岂不浪费了, 所以如果我们想要重分利用cpu资源,我们就需要在Python中采用多进程模式,就是[……]

继续阅读

python基础16-并发编程(1)

从这篇开始我们学习python并发编程的内容,之所以把并发编程放到最后去说,是因为并发编程涉及很多概念,还用到了类,跟之前的基础知识不同,不是几句话或者几行代码就能说清楚的,在我们正式写代码前我们先梳理下基本概念,然后再进入实际代码环节,因为要NB,不但要会写代码,而且还能理解代码背后的意义,if[……]

继续阅读

python基础15-面向对象编程(3)

上篇我们说了类的基本概念,这篇我们谈谈类的一个很重要的概念-继承, 在工作中使用类继承非常常见,当我们编写一个类时并非每次都要从头实现一个类,如果你要实现的类在方法或属性另一个类里已经有了,这时候可以通过继承来自动 获得这个类的所有属性和方法,这个类就叫父类,继承父类的类我们叫子类,通过类的继承,可[……]

继续阅读

python基础15-面向对象编程(2)

上篇我们介绍了Python面向对象编程的基本理论知识,这篇我们开始看如何实际定义类和如何调用类方法,在Python中定义类的关键字是class,我们就拿周边的事物说起,这样大家也比较容易理解,比如我们定义一个汽车类,如下:

以上代[……]

继续阅读

python基础10-文件读写part1

本篇主要讲解Python对文件的处理,对文件的读写是我们日常中最用的操作了,不管你是分析日志还是要将生成的结果写到文件里,都需要用到读文件的读写操作,在python下对文件非常容易,我们使用它的内建函数open()就可以打开一个文件,如果你要打开个文件一般的用法是:
[crayon-5e59aea[……]

继续阅读

python基础9-模块和包、标准库

python中的模块其实就是一个.py结尾的文件,也许有的小伙伴不太理解为什么我们需要模块,其实在在我们日常编程中,有很多功能是重复的,在下次我们编写一个新的需求时没必要从头开始,这时候我们就可以重用我们之前写的代码块,这样经过长时间积累把一些常用的功能以文件的方式保存起来,等需要的时候直接引用,不[……]

继续阅读

python基础8-函数

函数的概念我估计每个人都不陌生,我们在学习C语言的时候就知道怎么定义一个函数了,那为什么要定义函数呢? 一般情况是第一你为了让主逻辑更清晰,第二是为了代码重用, 经常写shell脚本的人应该都有自己的函数库,在Python下也类似,很多功能可以复用,了解完这些我们来看看Python下的函数定义和调用[……]

继续阅读

python基础7-条件&循环

前面我们已经把所有的Python数据结构说完了,从现在起就开始讲程序的执行逻辑了,因为程序不可能每个执行语句都要顺序执行,正是有了这些条件或循环的执行逻辑,才体现出了算法,之前看过书编程书的人都知道,程序是什么?其实程序就是数据+算法,我们了解了数据,再加上了解程序的执行逻辑,就能写出复杂的程序来,[……]

继续阅读

python批量给云主机配置安全组

这几年对运维人员来说最大的变化可能就是公有云的出现了,我相信可能很多小伙伴公司业务就跑在公有云上,  因为公司业务关系,我个人接触公有云非常的早,大概在12年左右就是开始使用亚马逊云,后来逐渐接触到国内的阿里,腾讯云等,随着公司业务往国内发展,这几年我们也使用了很多国内的公有云厂商,所以在云运维方面[……]

继续阅读

python基础6-集合类型

今天我们要了解的是集合类型,也是我们要说的最后一个基本数据类型了,集合(set)数据类型很像字典的key,因为它不可以重复,而且无序, 但它不是映射对应关系,就像是没有value的字典,创建一个集合只能用函数set(),这些就是集合的基本特性,我们还是看几个例子来了解下set的使用:

集合的创[……]

继续阅读

python基础5-字典

字典是python中的映射数据类型,映射类型对象里哈希值key,指向对象value,如果value是多个,就是一对多关系,字典是以键值对的形式存在的,在Python的数据类型中,字典数据类型算是比较重要的数据类型,在后续web编程中经常会用到字典数据类型去传递数据和渲染模板,所以这个数据类型是我们要[……]

继续阅读

python基础4-列表操作

上篇我们学习了python的字符串类型,了解了字符串的不变性,今天我们接着学习新的数据类型-列表,列表也是序列式的数据类型,跟字符串一样,支持下标和切片操作,但列表跟字符串不同的是它是可变类型,就是它是可以改变的,这个数据类型在后续我们编程中用的非常的多,比如将读出的IP放到列表中,然后读取执行,这[……]

继续阅读

python基础3-字符串操作(2)

这篇我们接上一篇把字符串类型没有说的完的接着说完,我们先说字符串的不变性,在Python中字符串类型是一种不可变的数据类型,就是说它的值不能被改变或修改,那什么意思呢,就是我们如果要想修改一个字符串就只能通过生成一个新字符串的方式来操作,也许有的小伙伴会说,不是呀,字符串是能修改的呀,比如这个例子:[……]

继续阅读

python基础3-字符串操作

上一篇我们介绍了Python的安装和基本的数字类型,从这篇开始我们学习几个python核心的序列类型,我们先从字符串开始,在开始前我先给大家纠正关于编程学习的一个误区,就是可能很多人认为程序员非常擅长数学,数学不好的人估计很难学好编程,所以有的人还没开始就放弃了,就我个人感觉,数学肯定是很重要,但没[……]

继续阅读

python异常捕获

在Python中处理异常使用的是try-except代码块,try-except代码块放入让python执行的操作,同时告诉python程序如果发生了异常该怎么办,try-except这个功能其实很多入门书籍中都放到了高级篇幅里,在入门的时候一般不会讲这个使用,尤其是作为运维人员,如果你经常写she[……]

继续阅读

python脚本pdb调试工具使用

pdb是linux的的python调试工具,它功能比较齐全,使用起来也很方便, 按一边运维工程师的发展来说,一般最早接触的是shell编程, 所以大多是在shell的基础上开始学习Python的,如果是刚 从shell脚本转到写python脚本的小伙伴可能会有点不太适应,比如说调试,大家都知道写脚本[……]

继续阅读

调用zabbix API获取主机

zabbix 作为企业级的系统和网络监控方案,对于中小型公司来说基本可以很好的满足对机器的监控需求,因为其部署方便,操作简单深受现在各个互联网公司喜爱,所以现在基本的互联网公司监控用zabbix的非常多,当你安装好zabbix服务端 后,如果启动自动注册功能,在所有客户机安装后会自动在zabbix平[……]

继续阅读

你应该学会的python列表去重

列表去重是写Python脚本时常遇问题,因为不管源数据来自哪里,当我们转换成列表的方式时,有可能预期的结果不是我们最终的结果,最常见的就是列表中元素有重复,这时候第一件事我们就要做去重处理,我们先来个最简单的方式,用python内置的数据类型set来实现。

假设我们的列表数据是这样的:
[c[……]

继续阅读

python按任意键继续程序

在windows下写bat的时候,通过pause命令,可以暂停程序运行,例如经常见的程序会在终端提示”按任意键继续……”,用户在终端回车后程序可以接着运行,这个功能有多大用途今天暂且不说,但我觉得应该有很多人也想在python下实现这个功能,这样当自己写的python程序运行时, 突[……]

继续阅读

最简单的多线程爬虫实例

写这个例子主要还是了解多线程的使用和运行方式,因为爬虫是用多线程的实现的典型应用场景,基本写爬虫的没有不用多线程的,因为太多的网页或内容你不可能一一去获取,如果爬的数据量太大而不去并发执行,那时间估计是人无法忍受的,如果对python了解多一些的小伙伴可能知道GIL, 全称Global Interp[……]

继续阅读

python分析nginx日志

上周咳嗽比较厉害,暂停了一周更新,收到很多小伙伴的留言关心,真是非常感动,非常感谢大家支持,我会尽我努力给大家分享干货, 现在吃了几天药,基本好的差不多了,这周接着聊python在运维中的实践,今天的脚本是分析nginx的访问日志, 主要为了检查站点uri的访问次数的,检查的结果会提供给研发人员做参[……]

继续阅读

站点监控报警

在小型公司里如果产品线单一的话,比如就一个app,  一般1~2个运维就够用了,如果产品过于庞大,就需要多个运维人员,但对于多产品线的公司来说,运维人员就要必须分多个人负责,因为超过200个站点让1个人维护,那工作量是巨大的,就单单给开发的沟通时间,估计就要占用一整天时间了,目前我所在的公司站点非常[……]

继续阅读

python实现windows盘符探测器

windows系统对经常玩linux的运维兄弟来说,如果碰到自己业务中有一大堆win系统要去运维,如果不太熟悉还是非常头疼的,尤其面对上百台后,各种情况更加复杂,因为这百台里可能存在不同的配置,尤其是磁盘的配置,可能刚开始都比较统一,但后续经过长时间运维后,因为升级过磁盘会造成每台机器会有不同的分区[……]

继续阅读

ansible作为python模块库使用

Asible是运维工具中算是非常好的利器,我个人比较喜欢,可以根据需求灵活配置yml文件来实现不同的业务需求,因为不需要安装客户端,上手还是非常容易的,在某些情况下你可能需要将ansible作为python的一个库组件写入到自己的脚本中,今天的脚本脚本就将展示下ansible如何跟python脚本结[……]

继续阅读

检测url重定向到的地址

2016年最长的假期也过了,这周连上7天班,之前还觉得挺恐怖,没想到这周真是要忙死的节凑,还真没觉得多漫长,一晃明天就周五了,干运维的就是突发的事情多,冷不丁的不知道哪里就冒出个问题,就够搞半天的,最近领导有一批站点,需要检测这些站点是否重定向到了其它url上,因为站点太多,这种事就只能通过脚本来实[……]

继续阅读

python下载整个ftp目录

过了明天就是国庆了,周围的小伙伴也都早早安排好,该回家的回家,该旅游的也已出发,这几天朋友圈基本都是晒照片的,据官方预测,估计未来几天会持续刷屏,其实看看照片还挺好,真到了那未必有照片好看,想想去年10.1长城人山人海拥挤的那个短视频,我就果断放弃了北京周边游的计划,过了10.1, 这2016也就快[……]

继续阅读