最近工作上有个需求,当爬虫程序遇到异常的时候,需要通知相应的人员进行修复。如果是国外可能是通过邮件的方式来通知,但国内除了万年不变的qq邮箱,大部分人都不会去再申请其他的账号,qq邮箱也是闲的蛋疼的时候才会瞄一眼。你还记得上次看邮箱的内容是什么时候吗?所以在国内最好的通知方式是通过手机短信,今天就教大家利用python10行代码实现短信发送。Twilio短信代理服务已经有非常多成熟的方案,比如国内的阿里云。这次我介绍的是国外的一个代理商「Twilio」,使
系统 2019-09-27 17:50:28 2421
python提供了一个struct模块来提供转换。下面就介绍这个模块中的几个方法。struct.pack():struct.pack用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,可以把这里的字符串理解为字节流,或字节数组)。其函数原型为:struct.pack(fmt,v1,v2,...),参数fmt是格式字符串,关于格式字符串的相关信息下面有所介绍。v1,v2,...表示要转换的python值。下面的例子将两
系统 2019-09-27 17:48:29 2421
某位A同学发了我一张截图,问为何结果中出现了负数?看了图,我第一感觉就是数据溢出了。数据超出能表示的最大值,就会出现奇奇怪怪的结果。然后,他继续发了张图,内容是print(100000*208378),就是直接打印上图的E[0]*G[0],结果是20837800000,这是个正确的结果。所以新的问题是:如果说上图的数据溢出了,为何直接相乘的数却没有溢出?由于我一直忽视数据的表示规则(整型的上限是多少?),而且对Numpy了解不多,还错看了图中结果,误以为每
系统 2019-09-27 17:48:05 2421
Pythonapply函数1、介绍apply函数是pandas里面所有函数中自由度最高的函数。该函数如下:DataFrame.apply(func,axis=0,broadcast=False,raw=False,reduce=None,args=(),**kwds)该函数最有用的是第一个参数,这个参数是函数,相当于C/C++的函数指针。这个函数需要自己实现,函数的传入参数根据axis来定,比如axis=1,就会把一行数据作为Series的数据结构传入给自
系统 2019-09-27 17:47:17 2421
1.Description:Givenanarraynumsofnintegers,arethereelementsa,b,cinnumssuchthata+b+c=0?Findalluniquetripletsinthearraywhichgivesthesumofzero.Note:Thesolutionsetmustnotcontainduplicatetriplets.Example:Givenarraynums=[-1,0,1,2,-1,-4],
系统 2019-09-27 17:47:13 2421
在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装python再装好numpy,就可以使用f2py。不过对windows平台必须使用gnu的fortran编译器gfortran,在此下载。装完了python,numpy和gfortran这三样东西之后,还必须更改如下几个环境变量:1.在$PATH中添加gfortran的路径,我的是c:\ProgramFiles\pythonxy\mi
系统 2019-09-27 17:46:30 2421
基本语句结构复制代码代码如下:if判断条件1:执行语句1……elif判断条件2:执行语句2……elif判断条件3:执行语句3……else:执行语句4……只有当“判断条件”的值是True的时候,才执行下面的执行语句。那么,在python中,怎么知道一个判断条件是不是真呢?这个问题我们在眼花缭乱的运算符中已经讲解了一种数据类型:布尔类型。可以通过一个内置函数bool()来判断一个条件的结果True还是False。看看下面的例子,是不是能够理解bool()的判断
系统 2019-09-27 17:38:15 2421
最小编辑距离或莱文斯坦距离(Levenshtein),指由字符串A转化为字符串B的最小编辑次数。允许的编辑操作有:删除,插入,替换。具体内容可参见:维基百科―莱文斯坦距离。一般代码实现的方式都是通过动态规划算法,找出从A转化为B的每一步的最小步骤。从Google图片借来的图,Python代码实现,(其中要注意矩阵的下标从1开始,而字符串的下标从0开始):defnormal_leven(str1,str2):len_str1=len(str1)+1len_s
系统 2019-09-27 17:37:46 2421
前言数组类型是各种编程语言中基本的数组结构了,本文来盘点下Python中各种“数组”类型的实现。listtuplearray.arraystrbytesbytearray其实把以上类型都说成是数组是不准确的。这里把数组当作一个广义的概念,即把列表、序列、数组都当作array-like数据类型来理解。注意本文所有代码都是在Python3.7中跑的^_^0x00可变的动态列表listlist应该是Python最常用到的数组类型了。它的特点是可变的、能动态扩容,
系统 2019-09-27 17:57:38 2420
基于sklearn的线性分类器logistics(对数几率回归)Python实现声明:本人小白,文章作为自己的学习参考资料,供大家学习交流本文章referto作者:月见樽链接:https://www.jianshu.com/p/f9cb59dc99ec来源:简书作者:周志华书名:《机器学习》出版社:清华大学出版社感谢此文章及书籍原创者如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理并删除文章Email:louhergetup@gmail.co
系统 2019-09-27 17:57:32 2420
1.什么是pickling和unpickling?Pickle模块读入任何Python对象,将它们转换成字符串,然后使用dump函数将其转储到一个文件中――这个过程叫做pickling。反之从存储的字符串文件中提取原始Python对象的过程,叫做unpickling。2.什么是Python的命名空间?在Python中,所有的名字都存在于一个空间中,它们在该空间中存在和被操作――这就是命名空间。它就好像一个盒子,每一个变量名字都对应装着一个对象。当查询变量的
系统 2019-09-27 17:57:19 2420
前面给大家分享了pandas.merge用法详解,这节分享pandas数据合并处理的姊妹篇,pandas.concat用法详解,参考利用Python进行数据分析与pandas官网进行整理。pandas.merge参数列表如下图,其中只有objs是必须得参数,另外常用参数包括objs、axis、join、keys、ignore_index。1.pd.concat([df1,df2,df3]),默认axis=0,在0轴上合并。2.pd.concat([df1,
系统 2019-09-27 17:56:17 2420
1、传统的文字表达式:>>>d={'name':'Allen','age':21,'gender':'male'}>>>d{'age':21,'name':'Allen','gender':'male'}如果你可以事先拼出整个字典,这种方式是很方便的。2、动态分配键值:>>>d={}>>>d['name']='Allen'>>>d['age']=21>>>d['gender']='male'>>>d{'age':21,'name':'Allen','gen
系统 2019-09-27 17:55:55 2420
Python中,有3种内建的数据结构:列表、元组和字典。1.列表list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。列表中的项目。列表中的项目应该包括在方括号中,这样python就知道你是在指明一个列表。一旦你创建了一个列表,你就可以添加,删除,或者是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的,并且列表是可以嵌套的。实例:#coding=utf-8animalslist=['f
系统 2019-09-27 17:55:30 2420
由于前边Python3.4实现远程控制电脑开关机写的远程操控电脑,使用的POP登陆有使用频率限制,导致非常被动,有时候邮件无法读取,下面改用POST网易邮箱的方法,获取邮件importurllib.requestasrequestimporthttp.cookiejarascookiejarimporturllib.parseimportreimportsmtplibfromemail.mime.textimportMIMETextimporttimeim
系统 2019-09-27 17:51:37 2420