- 军军小站|张军博客
拥有Python标签的文章
Python

zabbix利用python脚本发送报警邮件的方法

前言zabbix是个非常强大的监控工具,可以监控linux和windows的服务器数据,也可以通过自定义key来扩展默认的监控项,但是自带的邮件报警提供的信息却不太友善。本文想通过自定脚本的方式,实现在报警邮件的同时发送对应的图像和url连接。步骤如下:1、编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径。vim/etc/zabbix/zabbix_server.confAlertSc

系统 2019-09-27 17:56:16 2077

Python

python 寻找离散序列极值点的方法

使用scipy.signal的argrelextrema函数(API),简单方便importnumpyasnpimportpylabasplimportmatplotlib.pyplotaspltimportscipy.signalassignalx=np.array([0,6,25,20,15,8,15,6,0,6,0,-5,-15,-3,4,10,8,13,8,10,3,1,20,7,3,0])plt.figure(figsize=(16,4))plt

系统 2019-09-27 17:56:11 2077

Python

简单谈谈python中的语句和语法

python程序结构python“一切皆对象”,这是接触python听到最多的总结了。在python中最基层的单位应该就是对象了,对象需要靠表达式建立处理,而表达式往往存在于语句中,多条语句组成代码块,多个代码块再组成一整个程序。python的核心其实是由语句和表达式组成。所以在这里简单探讨一下python中的语句和表达式。因为以后可能会接触到两个版本的python,所以这里讲一讲python2与python3的语句差异:1.python2中没有noloc

系统 2019-09-27 17:54:05 2077

Python

Python使用正则表达式分割字符串的实现方法

如下:re.split(pattern,string,[maxsplit],[flags])pattern:表示模式字符串,由要匹配的正则表达式转换而来。string:表示要匹配的字符串。maxsplit:可选参数,表示最大的拆分次数。flags:可选参数表示标志位,用于控制匹配方式,如是否区分子母大小写示例代码:importrepattern=r'[?|&]'#定义分隔符url='http://www.baidu.com/login.jsp?userna

系统 2019-09-27 17:50:54 2077

Python

希尔排序-python版

希尔排序思想:算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。一般的初次取序列的一半为增量,以后每次减半,直到增量为1。defshell_sort(list):n=len(list)gap=n//2new_list=[]whilegap>1:foriinrange(gap):iflist[i]>list[i

系统 2019-09-27 17:48:16 2077

Python

9种python web 程序的部署方式小结

主流的webserver一个巴掌就能数出来,apache,lighttpd,nginx,iisapplication,中文名叫做应用服务,就是你基于某个webframework写的应用代码DBserver泛指存储服务,web开发中用mysql比较多,最近几年因为网站规模扩大,memcache,redis这种key-value等存储也流行开来放在最前面的webserver有3个功能高效率处理静态文件,webserver都是用c开发,调用是native的函数,

系统 2019-09-27 17:48:08 2077

Python

解析Python中的二进制位运算符

下表列出了所有的Python语言的支持位运算符。假设变量a持有60和变量b持有13,则:示例:试试下面的例子就明白了所有的Python编程语言提供了位运算符:#!/usr/bin/pythona=60#60=00111100b=13#13=00001101c=0c=a&b;#12=00001100print"Line1-Valueofcis",cc=a|b;#61=00111101print"Line2-Valueofcis",cc=a^b;#49=001

系统 2019-09-27 17:47:52 2077

Python

Python使用python-docx读写word文档

python-docx库可用于创建和编辑MicrosoftWord(.docx)文件。官方文档:链接地址备注:doc是微软的专有的文件格式,docx是MicrosoftOffice2007之后版本使用,其基于OfficeOpenXML标准的压缩文件格式,比doc文件所占用空间更小。docx格式的文件本质上是一个ZIP文件,所以其实也可以把.docx文件直接改成.zip,解压后,里面的word/document.xml包含了Word文档的大部分内容,图片文件

系统 2019-09-27 17:47:43 2077

Python

Python检测字符串中是否包含某字符集合中的字符

目的检测字符串中是否包含某字符集合中的字符方法最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器复制代码代码如下:defcontainAny(seq,aset):forcinseq:ifcinaset:returnTruereturnFalse第二种适用itertools模块来可以提高一点性能,本质上与前者是同种方法(不过此方法违背了Python的核心观点:简洁,清晰)itertools.ifilter(predicate,iterable)的说明M

系统 2019-09-27 17:46:52 2077

Python

举例讲解Python中的死锁、可重入锁和互斥锁

一、死锁简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况。1、迭代死锁该情况是一个线程“迭代”请求同一个资源,直接就会造成死锁:importthreadingimporttimeclassMyThread(threading.Thread):defrun(self):globalnumtime.sleep(1)ifmutex.acquire(1):num=num+1msg=self.name

系统 2019-09-27 17:46:39 2077

Python

R语言 vs Python对比:数据分析哪家强?

什么是R语言?R语言,一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。R本来是由来自新西兰奥克兰大学的罗斯・伊哈卡和罗伯特・杰特曼开发(也因此称为R),现在由“R开发核心团队”负责开发。R基于S语言的一个GNU计划项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作修改的在R环境下运行。R的语法是来自Scheme。R的源代码可自由下载使用,亦有已编译的可执行文件版本可以下载,可在多种平台下运行,包括UNIX(也包括Fre

系统 2019-09-27 17:46:31 2077

Python

(八)Python 中的 AdaBoost 分类器实例

作者:chen_h微信号&QQ:862251340微信公众号:coderpai(一)机器学习中的集成学习入门(二)bagging方法(三)使用Python进行交易的随机森林算法(四)Python中随机森林的实现与解释(五)如何用Python从头开始实现Bagging算法(六)如何利用Python从头开始实现随机森林算法(七)AdaBoost简介(八)Python中的AdaBoost分类器实例boosting算法背后的思路是按照顺序训练预测模型,每个模型都试

系统 2019-09-27 17:56:50 2076

Python

Python 使用多属性来进行排序

Python中list.sort()是列表中非常常用的排序函数,key参数可以对单个属性进行排序。但是想要实现类似sql中orderbyid,age一样,对多个字段进行排序就不支持了。py2中sort()函数还有个cmp参数可以传入一个方法,可以自定义对多个属性进行排序,py3中移除了这个字段。py3想要实现这个功能,需要使用functools模块中的方法,实例如下#!/usr/bin/envpython#-*-coding:utf-8-*-#Author

系统 2019-09-27 17:55:16 2076

Python

python算法与数据结构之单链表的实现代码

=一、链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而

系统 2019-09-27 17:54:53 2076

Python

python数据分析系列之——Numpy的使用

1.numpy的导入以及查看版本>>>importnumpyasnp>>>print(np.__version__)1.15.42.创建一维(或多维)数组#通过list初始化来创建>>>np.array([1,2,3,4,5])array([1,2,3,4,5])#通过arange方法生成>>>np.arange(10)array([0,1,2,3,4,5,6,7,8,9])#指定创建范围和步长>>>np.arange(3,10,2)array([3,5,

系统 2019-09-27 17:54:33 2076