最近由于服务器托管中心频繁出现网络故障问题,因此写了一简单的py程序,用于检测网络状态。实现的原理相当简单,运行ping命令发送30个数据包,如果超过30%的丢失,则认为故障发生,然后做故障处理,如写日志,发邮件。主要函数importosdefmonitoring(server_ip):cmd="ping-c30%s"%server_ipp=os.popen(cmd)info=p.read()p.close()re_lost_str='(\d+)%pack
系统 2019-08-29 23:34:27 2480
pythoncx_Oracle模块的安装最近需要写一个数据迁移脚本,将单一Oracle中的数据迁移到MySQLSharding集群,在linux下安装cx_Oracle感觉还是有一点麻烦的,整理一下,做个总结。对于Oracle客户端,不只需要安装相应的python模块(这里我用了Oracle官方的python模块――cx_Oracle),还需要安装OracleClient,一般选择InstantClient就足够了,还需要配置tnsnames.ora(当然
系统 2019-09-27 17:56:39 2479
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多因为是第三方库,所以使用前需要cmd安装pipinstallrequests安装完成后import一下,正常则说明可以开始使用了。基本用法:requests.get()用于请求目标网站,类型是一个HTTPresponse类型importrequestsresponse=requests.get('http://www.baidu.com')print(response.
系统 2019-09-27 17:56:23 2479
本文实例讲述了Python内存管理。分享给大家供大家参考,具体如下:a=1a是引用,1是对象。Python缓存整数和短字符串,对象只有一份,但长字符串和其他对象(列表字典)则有很多对象(赋值语句创建新的对象)。fromsysimportgetrefcounta=[1,2,3]print(getfrecount(a))返回4,当使用某个引用作为参数传给getfrecount时,创建了临时引用,+1.对象引用对象classfrom_obj(object):de
系统 2019-09-27 17:55:49 2479
使用python画图,发现生成的图片在console里。不仅感觉很别扭,很多功能也没法实现(比如希望在一幅图里画两条曲线)。想像matlab一样单独地生成一个图片窗口,然后我在网上找了一个多小时,都没有找到想要的,要么仅仅是画图的教程,要么就是问题提出了,也没人回答。我记得曾经我使用过一行代码,可以实现这个功能的。最后果然在Historylog里面找到了:%matplotlibqt5显示图像于新生成的一个图片窗口%matplotlibinline在cons
系统 2019-09-27 17:54:39 2479
进程之间共享数据(数值型):importmultiprocessingdeffunc(num):num.value=10.78#子进程改变数值的值,主进程跟着改变if__name__=="__main__":num=multiprocessing.Value("d",10.0)#d表示数值,主进程与子进程共享这个value。(主进程与子进程都是用的同一个value)print(num.value)p=multiprocessing.Process(targ
系统 2019-09-27 17:51:28 2479
Pythonlist在介绍Pythontuple时,我使用了类比的方法,将其比做一个袋子,您可以在袋子中存放不同的东西。Pythonlist与此非常类似,因此,它的功能与袋子的功能也非常类似。但有一点是不同的,即您可以使用方括号创建list,如清单1所示。清单1.在Python中创建一个list>>>l=[0,1,2,3,4,5,6,7,8,9]>>>l[0,1,2,3,4,5,6,7,8,9]>>>type(l)>>>el=[]#Createanempt
系统 2019-09-27 17:49:47 2479
在python中,任务并发一种方式是通过进程分支来实现的.在linux系统在,通过fork()方法来实现进程分支.1.fork()调用后会创建一个新的子进程,这个子进程是原父进程的副本.子进程可以独立父进程外运行.2.fork()是一个很特殊的方法,一次调用,两次返回.3.fork()它会返回2个值,一个值为0,表示在子进程返回;另外一个值为非0,表示在父进程中返回子进程ID.以下只能在linux中运行,不能在window下运行.进程分支fork()实例如
系统 2019-09-27 17:47:07 2479
string.Template()string.Template()内添加替换的字符,使用"$"符号,或在字符串内,使用"${}";调用时使用string.substitute(dict)函数.可以通过继承"string.Template",覆盖变量delimiter(定界符)和idpattern(替换格式),定制不同形式的模板.代码:#-*-coding:utf-8-*-importstringtemplate_text='''''Delimiter:%
系统 2019-09-27 17:38:10 2479
查看依赖包及对应的版本号信息的方法有两种:方法1:piplist方法2:pipfreeze这两个同时适用于Windows和Linux系统当pip版本过低时,会出现list命令不存在,且freeze命令报错的情况。Eg:有些Linux系统自带的Python环境所对应的pip版本为1.0.2,如下图所示:在该环境下执行piplist,报pip:error:Nocommandbythenamepiplist错误,如下图所示:执行piphelp可以发现,可执行命令
系统 2019-09-27 17:57:17 2478
为什么要降维?高维情形下,样本数据稀疏,距离计算困难。为什么能进行降维?收集的数据虽是高维但与学习任务密切相关的也许仅仅是某个低维分布无监督降维:PCA最大重构性:找到一个超平面使得样本点在这个超平面的投影尽量分开。PCA也可以看作是逐一筛选方差最大方向;对协方差矩阵XX^T特征分解,取最大特征值及其特征向量;在去掉该特征值以及特征向量后,继续取最大特征值;关于PCA的几个问题:投影方向应该取多少才好?根据博客https://blog.csdn.net/m
系统 2019-09-27 17:56:39 2478
目录一、"Python蟒蛇绘制"问题分析1.1Python蟒蛇绘制二、"Python蟒蛇绘制"实例编写三、运行效果3.1程序关键四、"Python蟒蛇绘制"举一反三4.1Python语法元素理解4.2程序参数的改变4.3计算问题的扩展一、"Python蟒蛇绘制"问题分析1.1Python蟒蛇绘制用程序绘制一条蟒蛇貌似很有趣,可以来试试先学会蟒蛇绘制,再绘朵玫瑰花送给TA设计蟒蛇的基本形状:问题1:计算机绘图是什么原理?一段程序为何能够产生窗体?为何能在窗体
系统 2019-09-27 17:55:11 2478
在上次的爬虫中,抓取的数据主要用到的是第三方的Beautifulsoup库,然后对每一个具体的数据在网页中的selecter来找到它,每一个类别便有一个select方法。对网页有过接触的都知道很多有用的数据都放在一个共同的父节点上,只是其子节点不同。在上次爬虫中,每一类数据都要从其父类(包括其父节点的父节点)上往下寻找ROI数据所在的子节点,这样就会使爬虫很臃肿,因为很多数据有相同的父节点,每次都要重复的找到这个父节点。这样的爬虫效率很低。因此,笔者在上次
系统 2019-09-27 17:49:04 2478
编辑器不等于IDE(集成开发环境),开发python程序,不是只有一种print()打印输出调试。术业有专攻,于人如此,于一个软件也是如此。让专业的软件做专业的事。以上两点得出的结论:PyCharm我们以如下的一种常见错误,来演示如何通过PyCharm断点追踪的方式发现程序中的错误:deffoo(bar=[]):bar.append('bar')returnbar>>>foo()['bar']>>>foo()['bar','bar']>>>foo()['b
系统 2019-09-27 17:48:11 2478
IP合法性校验是开发中非常常用的,看起来很简单的判断,作用确很大,写起来比较容易出错,今天我们来总结一下,看一下3种常用的IP地址合法性校验的方法。IPv4的ip地址格式:(1~255).(0~255).(0~255).(0~255)方法1:正则表达式判定法最简单的实现方法是构造一个正则表达式。判断用户的输入与正则表达式是否匹配。若匹配则是正确的IP地址,否则不是正确的IP地址。复制代码代码如下:^(1\d{2}|2[0-4]\d|25[0-5]|[1-9
系统 2019-09-27 17:48:11 2478