在web开发中经常用到验证码,为了防止机器人注册或者恶意登陆和查询等,作用不容小觑但是验证码其实不是一个函数就能搞定的,它需要生成图片和水印,其实每种语言都有相关的函数生成图片和文字水印。包括我熟悉的php,呵呵,今天主要来分享如何用python生成验证码。python生成验证码主要用到如下模块:Image,ImageDraw,ImageFont,ImageFilter和随机数生成模块Random。代码如下:#!/usr/bin/envpython#cod
系统 2019-09-27 17:48:19 1818
Python中除法那些坑最近刷了一个cf题目,被python中的出发机制坑的不要不要的。这是链接:Chunga-Changapython中//和/的区别与使用a//b会获取值的整数部分,小数部分会丢失a/b会返回完整的值举个栗子:5//2=25/2=2.5那么问题来了?int(a/b)和a//b的区别在哪里呢?例1:int(7/3)=27//3=2既然如此讨论它们意义在上面地方呢?看看例二例二:int(999999999999999997/5)=20000
系统 2019-09-27 17:48:09 1818
文档地址functools.partial作用:functools.partial通过包装手法,允许我们"重新定义"函数签名用一些默认参数包装一个可调用对象,返回结果是可调用对象,并且可以像原始对象一样对待冻结部分函数位置函数或关键字参数,简化函数,更少更灵活的函数参数调用复制代码代码如下:#args/keywords调用partial时参数defpartial(func,*args,**keywords):defnewfunc(*fargs,**fkey
系统 2019-09-27 17:47:58 1818
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。一、创建字典字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}也可如此创建字典dict1={'abc':456}dict2={'abc':123,98.6:37}注意:每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({
系统 2019-09-27 17:47:55 1818
Pythonpass语句使用当语句要求不希望任何命令或代码来执行。pass语句是一个空(null)操作;在执行时没有任何反应。pass也是代码最终会是有用的,但暂时不用写出来(例如,在存根为例):语法Pythonpass语句语法如下:pass例子#!/usr/bin/pythonforletterin'Python':ifletter=='h':passprint'Thisispassblock'print'CurrentLetter:',letterpr
系统 2019-09-27 17:47:44 1818
Pythonlist内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1)排序基础简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序。>>>sorted([5,2,3,1,4])[1,2,3,4,5]你也可以使用list.sort()方法来排序,此时list本身将被修改。通常此方法不如sorted()方便,
系统 2019-09-27 17:47:37 1818
类代码:#-*-coding:gbk-*-importosclassTABFILE:def__init__(self,filename,dest_file=None):self.filename=filenameifnotdest_file:self.dest_file=filenameelse:self.dest_file=dest_fileself.filehandle=Noneself.content=[]self.initflag=Falsesel
系统 2019-09-27 17:47:28 1818
测试的过程中经常需要截取屏幕,通常的做法是使用手机自带的截屏功能,然后将截屏文件复制出来,这种方法的优点是不需要连接数据线就可截屏,缺点则是生成的截屏文件命名是随机命名的,复制出来也比较麻烦。另一种方法是使用PC端的手机助手类软件。这里使用python编写一个截屏的脚本,双击运行脚本就OK,截屏成功后会将截屏文件已当前时间命名,并保存在存放脚本的当前路径的screenshot文件夹下:#!/usr/bin/envpythonimportosimportti
系统 2019-09-27 17:47:18 1818
replace()方法返回当前old换成new,可选择的替代限制到最大数量的字符串的副本。语法以下是replace()方法的语法:str.replace(old,new[,max])参数old--这是要进行更换的旧子串。new--这是新的子串,将取代旧的子字符串。max--如果这个可选参数max值给出,仅第一计数出现被替换。返回值此方法返回字符串的拷贝与旧子串出现的所有被新的所取代。如果可选参数最大值给定,只有第一个计数发生替换。例子下面的示例演示了rep
系统 2019-09-27 17:47:10 1818
抓取动态的网页内容主要有两种办法,一种是通过开发者工具找到动态内容的接口,然后分析接口的参数和返回值来爬取网站的数据。另外一种是通过模拟浏览器来抓取数据。python的Selenium库就可以通过代码来模拟浏览器抓取数据。一、概述运行Selenium需要依赖于Python的selenium库,以及浏览器对应驱动器(WebDriver)。安装selenium库pipinstallselenium项目地址:https://pypi.org/project/se
系统 2019-09-27 17:47:10 1818