python-集合内置函数详解

  集合(S).方法名等价符号方法说明s.issubset(t)s<=t子集测试(允许不严格意义上的子集):s中所有的元素都是t的成员 s<t子集测试(严格意义上的子集):s!=t且s中所有的元素都是t的成员s.issupset(t)s>=t超集测试(允许不严格意义上的超集):t中所有的原色都是s的成员 s>t超集测试(严格意义上的超集):t!=s且t中所有的原色都是s的成员s.union(t)s|t合并操作:s或t中的元素s.intersection(t)s&t交集操作:s与t中的元素s.difference(t)s-t差分操作:在s中存在但在t中不存在的元素s.symmetric_difference(t)s^t对称差分操作:s或t中的元素,而不是两者共有的元素s.copy() 返回s的拷贝(浅复制)以下方法仅适用于可变集合s.update(t)s|=t将t中的元素添加到s中s.intersection_update(t)s&=t交集修改操作:s中仅包含s与t共有的元素s.difference...

Python 字典(Dictionary)操作详解

Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。一、创建字典字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}也可如此创建字典dict1={'abc':456}dict2={'abc':123,98.6:37}注意:每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。键必须独一无二,但值则不必。值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。二、访问字典里的值把相应的键放入熟悉的方括弧,如下实例:dict={'Name':'Zara','Age':7,'Class':'First'};print"dict['Name']:",dict['Name'];print"dict['Age']:",dict['Age'];#以上实例输出结果:#dict['Name']:Zara#dict['Age']:7如果用字典里没有的键访问数据,会输出错误如下:dict={'Name':'Zara'...

python——正则匹配数字

原文:https://www.cnblogs.com/so-letitgo/p/10552415.html 数字:^[0-9]*$n位的数字:^d{n}$至少n位的数字:^d{n,}$m-n位的数字:^d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(-)?d+(.d{1,2})?$正数、负数、和小数:^(-|+)?d+(.d+)?$有两位小数的正实数:^[0-9]+(.[0-9]{2})?$有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$非零的正整数:^[1-9]d*$或^([1-9][0-9]*){1,3}$或^+?[1-9][0-9]*$非零的负整数:^-[1-9][]0-9"*$或^-[1-9]d*$非负整数:^d+$或^[1-9]d*|0$非正整数:^-[1-9]d*|0$或^((-d+)|(0+))$非负浮点数:^d+(.d+)?$或^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$非正浮点...

Oracle——python的基本操作

原文:https://www.cnblogs.com/xiao-apple36/p/9066980.html#_label6  python操作oracle数据库-查询DBAPI2.0和cx_Oracle介绍第一步:导入cx_Oracle ,建立连接第二步:建立 Cursor 光标,查询数据类型绑定变量模式一次多行 回到顶部python操作oracle数据库-查询参照文档http://www.oracle.com/technetwork/cn/articles/dsl/mastering-oracle-python-1391323-zhs.htmlhttp://cx-oracle.readthedocs.io/en/latest/module.html回到顶部DBAPI2.0和cx_Oracle介绍Python数据库API规范v2.0是集体努力的成果,用于统一不同数据库系统的访问模型。拥有一组相对较少的方法和属性,在更换数据库供应商时就易于学习并保持一致。它不以任何方式将数据库对象映射到Python结构中。用户仍然需要手工编写...

python——安装cx_Oracle

原文:https://blog.csdn.net/Goldxwang/article/details/88805416#切记:一定注意版本问题!!! Python操作oracle数据库需要用到cx_Oracle模块所以需要去下载cx_Oracle.请注意:下载的cx_Oracle安装文件一定要跟pyhton的位数和版本一致,pyhton的位数最好是跟系统位数一致,不然有可能会出现各种各样的错误安装cx_Oracle前请先安装Python去官网下载Python开始安装如果跳出下图点是现在测试下Python 在cmd命令行下输入python 如图就成功安装了下面贴出下载cx_Oracle的过程图,本文章需要下载文件的连接在文章末尾我会贴出来供大家下载 开始安装cx_Oracle测试cx_Oracle  这时会报出个错误 ImportError:DLLloadfailed:找不到指定的模块 如下图: 原因是因为少了某些DLL模块,现在我们解决这个问题:  需要下载oracle的客户端...

基于Python的接口自动化测试框架

公司内部的软件采用B/S架构,目的是进行实验室的数据存储、分析、管理。大部分是数据的增删改查,但是由于还在开发阶段,所以UI的变化非常快,难以针对UI进行自动化测试,那样会消耗大量的精力与时间维护自动化脚本,对于小团队来说就得不偿失了。  针对此种情况,选用接口测试较为有效。  针对接口测试的自动化工具也很多,例如SoupUI、Postman、robotframework,甚至jmeter这样的性能测试工具都可以进行接口测试。  robotframework测试框架有很多的第三方库可以使用,采用的是填表的方式进行,较容易上手,但是无法深入底层的了解客户端与服务器的交互过程。jmeter这样的专注性能测试的工具,进行接口测试,有点大材小用的感觉而且无法生成测试报告。但是这些工具灵活性不够,也不完全适用于被测系统。  综上考虑,决定自己开发一个简单的框架,优点是足够灵活,可以随时根据需求进行变更,后台使用的是python+flask进行开发,此次选用python2.7.11进行框架的开发,python开发的速度很快,且容易上手,丰富的第三方库,大大加快了开发速度和难度。  由于是框架,所以...

python处理文本文件

测试任务过程中都或多或少遇到自己处理文本文件的情况。举个栗子:客户端测试从异常日志中收集有用信息。后端测试需要创建各种规则的压力的词表。...这里给大家分享一个使用python脚本处理文本的一些小技巧,分三步学会创建文本文件。学会读取已有的文本文件。学会处理读取文件后的内容 创建文本文件脚本创建文件和人工创建步骤一样,打开新文件,写入内容,保存并关闭文件Case1:创建一个文件名为num.txt,内容是1~100数字分别每行一个Code1:#coding:utf-8  知识要点:1.首行coding声明字符编码根据涉及到的字符可以是gbk、utf8、cp936等等 2.open函数包含两个参数,第一个参数为文件名。第二个参数为模式,模式中常用的有只读“r”、写“w”、追加“a”。r:只读模式常用于使用文本中内容,但不需要编辑内容时使用。w:写模式常用于新增或编辑内容时使用。a:追加模式跟写模式类似,不同点在于对同一文件追加模式会在文件内容尾部,续写,而写模式会清空内容重新写...

python学习笔记(四)-数据类型

0.在Python中的数据类型详解http://www.cnblogs.com/scios/p/8026576.html1.为什么布尔类型(bool)的True和False分别用1和0来代替吗?计算机只认识二进制数,所以所有的编程语言最终都会转换成简单的二进制序列给CPU按照一定的规则解析。由于二进制只有两个数:0和1,因此用0和1来表示False和True再适合不过了,因为不用浪费资源在转换的过程上!2.使用int()将小数转换为整数,结果是向上取整还是向下取整呢?小数取整会采用比较暴力的截断方式,即向下取整。(注:5.5向上取整为6,向下取整为5)3.我们人类思维是习惯于“四舍五入”法,你有什么办法使得int()按照“四舍五入”的方式取整吗?int()固然没那么“聪明”,但机器是死的,人是活的!5.4“四舍五入”结果为:5,int(5.4+0.5)==55.6“四舍五入”结果为:6,int(5.6+0.5)==6大家看明白了吗?4.获取一个变量的类型,可以使用ty...

Python数据类型详解

目录1、字符串2、布尔类型3、整数4、浮点数5、数字6、列表7、元组8、字典9、日期1、字符串1.1、如何在Python中使用字符串a、使用单引号(')用单引号括起来表示字符串,例如:str='thisisstring';printstr;b、使用双引号(")双引号中的字符串与单引号中的字符串用法完全相同,例如:str="thisisstring";printstr;c、使用三引号(''')利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如:str='''thisisstringthisispythodstringthisisstring'''printstr;2、布尔类型bool=False;printbool;bool=True;printbool;3、整数int=20;printint;4、浮点数float=2.3;printfloat;5、数字包括整数、浮点数。5.1、删除数字对象引用,例如:a=1;b=2;c=3;dela;delb,c;#printa;#删除a变量后,再调用a变量会报错5.2、数字类型转换int(x[,base])将x转换为一个整数f...

python中decode和encode的区别

importsys'''*字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。总得意思:想要将其他的编码转换成utf-8必须先将其解码成unicode然后重新编码成utf-8,它是以unicode为转换媒介的如:s='中文'如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。这种情况下,要进行编码转换,都需要先用decode方法将其转换成unicode编码,再使用encode方法将其转换成其他编码。通常,在没有指定特定的编...

Python中的yield和Generators(生成器)

本文目的 解释yield关键字到底是什么,为什么它是有用的,以及如何来使用它。 协程与子例程   我们调用一个普通的Python函数时,一般是从函数的第一行代码开始执行,结束于return语句、异常或者函数结束(可以看作隐式的返回None)。一旦函数将控制权交还给调用者,就意味着全部结束。函数中做的所有工作以及保存在局部变量中的数据都将丢失。再次调用这个函数时,一切都将从头创建。   对于在计算机编程中所讨论的函数,这是很标准的流程。这样的函数只能返回一个值,不过,怎么才能创建能产生一个序列的函数呢?换句话说,这个函数需要能够“保存自己的工作”。   python中的生成器可以实现这一点。  生成器中,我们的函数并没有像通常意义那样返回。常规函数中的return隐含的意思是函数正将执行代码的控制权返回给函数被调用的地方。而"yield"的隐含意思是控制权的转移是临时和自愿的,我们的函数将来还会收回控制权。  生成器(以及yield语句)最初的引入是为了让程序员可以更简单的编写用来产生值的序列的代码。以前,要实现类...

Pyhthon爬虫其之验证码识别

  现在的登录系统几乎都是带验证手段的,至于验证的手段也是五花八门,当然用的最多的还是验证码。不过纯粹验证码识已经是很落后的东西了,现在比较多见的是滑动验证,滑动拼图验证(这个还能往里面加广告)、点击图片特定位置确认(同样能放广告),再或者谷歌的No-CAPTCHA。总之纯粹的验证码效果不好,成本也不如一众新型验证码,迟早是要被全部淘汰的,但现在仍然有很多地方在使用传统的图片验证码。所以提到自动模拟登录,验证码识别肯定也是需要进行研究的。      由于我此前并没有接触过验证码识别的相关知识,所以在开工前在网上查找了大量的资料,个人觉得对我最有帮助的三篇附在文章最后。   在翻阅了大量的博客、文章后我采用的识别方法为pytesser中的image_to_string函数。   起先是打算按照某篇文章的介绍,使用libSVM进行人工网络识别,但在完成了图片处理后,我发现使用pytesser进行识别的成功率已经达到了8成以上,便没有继续研究下去(因为我懒…)   验证码是别的流程大概是这样的:      1...

python 截取 取出一部分的字符串

下面是split截取获得>>>str='http://manualfile.s3.amazonaws.com/pdf/gti-chis-1-user-9fb-0-7a05a56f0b91.pdf'>>>printstr.split()['http://manualfile.s3.amazonaws.com/pdf/gti-chis-1-user-9fb-0-7a05a56f0b91.pdf']>>>printstr.split('/')['http:','','manualfile.s3.amazonaws.com','pdf','gti-chis-1-user-9fb-0-7a05a56f0b91.pdf']>>>printstr.split('/')[-1]gti-chis-1-user-9fb-0-7a05a56f0b91.pdf>>>printstr.split('/')[-1].split('.')[0]gti-chis-1-user-9fb-0-7a05a56f0b91>>...

python 爬虫练习

bs去除特定标签。#urlimporteasyguiasgimporturllib.requestfrombs4importBeautifulSoupimportosimportsysimportreimportconfig.story2asurls#获取urldefset_url():msg="请填写一下信息(其中带*号的项为必填项)"title="爬虫练习"fieldNames=["*小说目录地址","*组装前半段","后半段"]fieldValues=[]fieldValues=g.multenterbox(msg,title,fieldNames)whileTrue:iffieldValues==None:breakerrmsg=""foriinrange(len(fieldNames)):option=fieldNames[i].strip()iffieldValues[i].strip()==""andoption[0]=="*":errmsg+=("【%s】为必填项"%fieldNames[i])iferrmsg=="":breakfieldValues=g.multen...
IT猿 IT猿·2020-03-25

python读文件的三个方法read()、readline()、readlines()详解

"""1、读取文件的三个方法:read()、readline()、readlines()2、三个方法均可接受一个变量用以限制每次读取的数据量,通常不使用该变量。""""""关于read()方法:1、读取整个文件,将文件内容放到一个字符串变量中2、如果文件大于可用内存,不可能使用这种处理"""file_object=open("test.py",'r')#创建一个文件对象,也是一个可迭代对象try:all_the_text=file_object.read()#结果为str类型printtype(all_the_text)print"all_the_text=",all_the_textfinally:file_object.close()"""关于readline()方法:1、readline()每次读取一行,比readlines()慢得多2、readline()返回的是一个字符串对象,保存当前行的内容"""file_object1=open("test.py",'r')try:whileTrue:line=file_object1.readline()ifline:print"lin...
首页上一页...377378379380381...下一页尾页