![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 73
鱼跃龙
这个作者很懒,什么都没留下…
展开
-
python中的栈和队列
Stack(栈):数据先进后出,类比放盘子,最先放的盘子最后拿出;最后放的盘子最先拿出>>> stack=[]>>> stack.append(1)>>> stack.append(2)>>> stack.append(3)>>> stack[1, 2, 3]>>> sta...原创 2019-05-23 23:20:21 · 3004 阅读 · 1 评论 -
python~多进程简单实例
代码实例os.fork():linux系统上应用fork()函数,属于linux内建函数,并且只在Linux系统下存在。它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的PID。这样做的理由是,一个父进程可以fork()出...原创 2018-12-24 16:57:18 · 3457 阅读 · 1 评论 -
python~多进程相关概念了解
进程的概念进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。狭义定义:进程是正在运行的程序的实例。广义定义:进程是一个具有一定独立功能的程序关于...原创 2018-12-22 23:14:29 · 159 阅读 · 0 评论 -
python~操作数据库
python连接数据库总结1.连接oracle数据库a.下载并安装64bit的Oracle和PLSQL,下载地址:链接: https://pan.baidu.com/s/16DISSETVPvmsjjHJoK7K4A 提取码: r6rkb.下载cx_Oracle: py -3 -m pip install cx_Oracleimport cx_Oracledb=cx_O...原创 2018-12-22 21:49:14 · 230 阅读 · 0 评论 -
python~Configparser模块总结
Configparser模块:读写配置文件安装环境:py -3 -m pip install configparser读配置文件Config.ini配置文件内容:[email]mail_server=127.0.0.1mail_username=yuzgmail_password=123456mail_receiver=testmail_number=5[pat...原创 2018-12-21 17:19:52 · 270 阅读 · 0 评论 -
python~装饰器详解
装饰器的概念在代码运行期间在不改变原函数定义的基础上,动态给该函数增加功能的方式, 称之为装饰器。装饰器是一个很著名的设计模式,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。总体来说,装饰器其实也是一个函数,一个用来包装函...原创 2018-12-28 23:49:35 · 167 阅读 · 0 评论 -
python~闭包详解
构成闭包的必要条件:一个函数中有一个子函数,且子函数引用了函数的变量简单的说,就是某个内部函数被当做对象返回时,夹带了这个内部函数之外的变量,这就形成了一个闭包;下面通过三个代码实例来体会闭包的感觉!代码示例一:不带参数def outer(): name="python" def inter(): print (name) return int...原创 2018-12-27 23:17:43 · 202 阅读 · 0 评论 -
python~json学习总结
目录Python操作jsonjson简介json语法与语法规则json名称/值对json对象json数组json编码代码示例:json.dumps():将类对象编码成json串:第一种方式:第二种方式:json解码json.loads():从json到Python的类型转化对照表json反序列化为类对象Python操作json...原创 2018-12-03 23:24:31 · 399 阅读 · 0 评论 -
python解决ModuleNotFoundError No module named 'HTMLTestRunner'
HTMLTestRunner是Python标准库的unittest模块的扩展,无法通过pip安装;py2解决方法:从http://tungwaiyip.info/software/HTMLTestRunner.html下载HTMLTestRunner.py并将文件放到python2安装目录的Lib下,然后再次运行文件,可成功运行!py3解决方法:总结:第94行,将impor...原创 2018-12-10 09:09:23 · 12677 阅读 · 1 评论 -
python~XML学习总结
XML简介1.指可扩展标记语言(extensible markup language)2.是一种标记语言3.被设计用于结构化、存储和传输数据4.没有像html那样具有预定义标签,需要程序员自定义标签5.XML被设计为具有自我描述性,并且是W3C的标准xml文档XML文档形成了一种树结构,它从“根部”开始,然后扩展到“树 枝”。 XML文档必须包含根元素,该元素是所有其他...原创 2018-12-05 11:45:47 · 488 阅读 · 0 评论 -
python~异常详解
目录异常捕获与处理异常的概念异常抛出机制检测和处理异常1.使用try...except处理异常2.使用嵌套处理异常3.使用带有多个except的try语句4.使用异常参数和多个异常5.使用try...except...else处理异常6.使用try...finally处理异常7.使用try...except...else...finally8.捕获所...原创 2018-12-01 10:24:54 · 399 阅读 · 0 评论 -
python~pickle模块详解
pickle模块的使用详解Python的pickle模块实现了基本的数据序列化和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过picklem模块的反序列操作,我们能够将文件中的信息读取出来。pickle提供四个功能:dumps,dump,loads,loadpickle可以存储的类型数据:1.所有python支持的原生类型:布...原创 2018-12-01 00:12:19 · 300 阅读 · 0 评论 -
python~openpyxl操作excel文件
1.创建文件,写入数据并保存思路:导入模块后,创建文件,获得sheet对象,然后在sheet对象里操作,最后保存文件#encoding:utf-8import timefrom openpyxl import Workbook wb=Workbook() #创建文件对象wa=wb.active #获取第一个sheet#写入各种类型的数据w...原创 2018-12-26 20:09:16 · 803 阅读 · 0 评论 -
python~socket编程学习总结(一)
在学习socket编程前,需要先了解下struct模块。使用struct模块可以在不改变传输数据类型的前提下,实现python跨平台使用;Struct 模块作用:Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典。通过这六种数据类型,我们可以完成大部分工作...原创 2019-01-05 10:30:17 · 618 阅读 · 0 评论 -
python连接cx_oracle时报错"DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "
分析原因为:instantclient本地版本为32位,需更换成64位解决过程:因本地未安装Oracle客户端(个人觉得太重,可以用另外一个工具DataGrip),所以选择安装Oracle Instant Client(轻量级客户端,占用空间极少)下载地址:https://www.oracle.com/technetwork/topics/winx64soft-089540.h...原创 2019-05-04 22:28:35 · 1001 阅读 · 0 评论 -
Python 中__new__()和__init__()的区别
__new__方法:类级别的方法特性:1.是在类准备将自身实例化时调用,并且至少需要传递一个参数cls,此参数在实例化时由python解释器自动提供;2.始终是类的静态方法,即使没有被加上静态方法装饰器;3.必须要有返回值,返回实例化出来的实例;在自己实现__new__()时需要注意:可以return父类(通过super(当前类名,cls)).__new__出来的实例,或者直接是...原创 2019-04-26 00:24:58 · 8382 阅读 · 0 评论 -
InvalidProxyURL: Please check proxy URL. It is malformed and could be missing the host
今天像往常一样,使用requests发送请求,没想到遇到报错:requests.exceptions.InvalidProxyURL: Please check proxy URL. It is malformed and could be missing the host分析提示有两种可能:一是被设置代理了;二是hosts文件被更改了;回想这几天的操作也没有设置任何代理模式,优先否定...原创 2019-04-23 23:19:59 · 6401 阅读 · 3 评论 -
python~实现邮箱自动发送邮件
封装自动发送邮件方法,本例以QQ邮箱举例说明;注意事项:QQ邮箱需要先获得授权码,请自行百度~#代码实现import osimport smtplibimport tracebackfrom email.mime.text import MIMETextfrom email.mime.application import MIMEApplicationfrom emai...原创 2019-03-19 23:45:14 · 652 阅读 · 0 评论 -
python+selenium grid 分布式测试实践
一、工作原理:Grid 是用于设计帮助我们进行分布式测试的工具,其整个结构有一个hub主节点和若干个node代理节点组成。hub用来管理各个子节点的注册和状态信息,并接收远程客户端代码的请求调用,然后把请求的命令再转发给代理节点来执行。使用Grid远程执行测试的代码与直接调用Selenium Server是一样的,只是环境启动的方式不一样,需要同时启动一个hub和至少一个node。二、环...原创 2019-03-06 23:39:04 · 995 阅读 · 0 评论 -
py3解决报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 289: illegal multibyte
在使用pychram实践读取配置文件时,遇到错误如下:解决办法:1.进入准备读取的配置文件中,右键点击,然后选中File Encoding;2.在悬浮框内点击GBK;3.点击提示框的Convert按钮;以上三个步骤完成后,再去运行读取配置文件的程序,发现无报错,问题解决! ...原创 2019-02-01 23:17:59 · 1800 阅读 · 0 评论 -
python~多线程学习之队列
Python中的队列(queue模块)python queue模块有三种队列:1、python queue模块的FIFO队列先进先出(queue类)。2、LIFO类似于堆。即先进后出(LifoQueue)。3、还有一种是优先级队列级别越低越先出来(PriorityQueue)。针对这三种队列分别有三个构造函数:1、class queue.Queue(maxsize) FIF...原创 2019-01-21 23:42:47 · 267 阅读 · 0 评论 -
python~多线程学习(二)
目录什么是并发?并发与并行的区别:线程池(并发)线程同步与互斥线程互斥线程同步(生产者与消费者)线程同步(Lock-加锁)线程同步(Semaphore-加锁)线程同步(Event-信号传递)线程同步(Condition)线程同步(消息队列-Queue)死锁什么是并发?在操作系统中,指一个时间段内有几个程序都处于已启动到运行结束之间的状态,并且...原创 2019-01-21 11:23:41 · 165 阅读 · 0 评论 -
python~多线程学习(一)
目录线程的概念多线程线程和进程的区别线程的状态图Python线程模块Python线程threading模块threading模块提供的类:threading模块提供的常用方法:Thread类该类创建线程有有两种方式:Thread类拥有的方法创建threading.Thread线程通过继承Thread 类创建线程继承Thread类-新增run方...原创 2019-01-19 11:45:25 · 158 阅读 · 0 评论 -
python~socket编程学习总结 (三)
SockerServersocket编程在模块创建时无法进行多进程得处理,需要大量请求时,请求就会阻塞在队列中,甚至发生请求丢弃;SocketServer可以实现功能。SocketServer有4个类:TCPServer,UDPServer,UnixStreamServer,UnixDatagramServer。这4个类是同步进行处理的,另外通过ForkingMixIn和Threading...原创 2019-01-05 22:54:25 · 737 阅读 · 0 评论 -
python~socket编程学习总结(二)
简单模拟和服务器通信的客户端未加异常版本(对服务端进行死循环处理)服务端程序#encoding=utf-8import socket HOST='127.0.0.1'PORT=8095s= socket.socket(socket.AF_INET,socket.SOCK_STREAM) #定义socket类型,网络通信,TCPs.bind((HOST,PORT)...原创 2019-01-05 16:27:26 · 452 阅读 · 0 评论 -
python文件操作总结
文件操作总结目录文件操作总结文件操作模式文件打开操作open()函数with方式打开文件:会默认关闭文件文件读写操作fileObject.read([size])fileObject.readline([size])fileObject.readlines([size])fileObject.write(str)fileObject.writelin...原创 2018-11-30 17:40:16 · 1181 阅读 · 0 评论 -
python~安装crypto(无需安装Visual Studio)
在执行语句 from Crypto.Cipher import AES 时遇到报错,信息如下:ImportError: No module named Crypto.Cipher原因:很明显由于没有Crypto模块,于是想办法安装这个模块。不过过程十分曲折,在安装此模块时踩坑无数,最终找到解决办法,先总结步骤如下:文件地址:链接: https://pan.baidu.com/s/1...原创 2018-12-04 19:47:35 · 1430 阅读 · 2 评论 -
python字符串
字符串详解字符串是Python中非常重要的数据类型。字符串创建>>> result="">>> type(result)<class 'str'>>>> isinstance(result,str)True字符串操作字符串运算 >>> "a原创 2018-08-07 09:26:35 · 275 阅读 · 0 评论 -
python~random常用方法详解
random常用方法详解random:生成0到1之间的随机浮点数 >>> import random >>> random.random() 0.7752409555996718 uniform(a,b):生成a到b之间的随机浮点数 >>> import random >>...原创 2018-08-05 22:49:00 · 1662 阅读 · 0 评论 -
python字典
字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号“:“分割,每个键值对之间用逗号”,“分割,整个字典包括在花括号 {} 中 ,如d={1:2,3:4}.键必须是不可变的,如字符串,数字或元组;键具有唯一性,可用来排重;值不需要唯一,可重复,可以取任何数据类型。一、创建字典1.直接创建字典>>> d={1:2,3...原创 2018-07-28 11:23:31 · 959 阅读 · 0 评论 -
python~string常量及模板
字符串常量>>> import string>>> string.ascii_uppercase'ABCDEFGHIJKLMNOPQRSTUVWXYZ' >>> string.ascii_lowercase'abcdefghijklmnopqrstuvwxyz' >>> string.ascii...原创 2018-08-09 11:12:01 · 233 阅读 · 0 评论 -
python运行时提示WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
本人亲自实践selenium + webdriver,结合了容易出现的两个问题,网上虽然有方法,但是找起来很费劲。在这里总结给大家,希望对各位有帮助!1.python运行时提示WebDriverException:Message: 'geckodriver' executable needs to be in PATH.解决办法:百度‘geckodriver’下载,下载32或是64位...原创 2017-03-09 21:52:03 · 1898 阅读 · 2 评论 -
python列表
列表列表是Python中非常重要的数据类型,通常作为函数的返回类型。与元组相似,是一组有序的数据集合,用[ ]来标识。列表可以实现增删改查操作。一、创建列表1.直接创建列表>>> new_list=[]>>> type(new_list)<class 'list'>>>> isinstance(new_l...原创 2018-07-30 21:06:54 · 284 阅读 · 0 评论 -
python元组
元组1.创建元组>>> a=()>>> type(a)<class 'tuple'>#可以将元组看作一个容器,任何数据类型都可以放在这个容器里面>>> b=(1,1.2,1+1j,[3,4],{"a":"b"},"c")>>>原创 2018-07-26 09:14:21 · 114 阅读 · 0 评论 -
python中的赋值、浅拷贝和深拷贝区别
1.直接赋值:在内存中的地址是一个,是对象的引用,2.浅拷贝:藕断丝连,拷贝父对象,但不会拷贝对象内部的子对象,子对象还是引用3.深拷贝:毫无关系,互不影响,完全拷贝父对象及其子对象,内容虽一样,但内存中的地址不是一个;直接赋值实例:>>> a=[1,2,3,4,["a","b"]]>>> b=a>>> id(a)2原创 2018-07-20 09:43:53 · 273 阅读 · 0 评论 -
python全局变量与局部变量的区别
全局变量与局部变量的区别在于作用域不同全局变量适用于全局范围,在整个文件顶部声明的,可供文件中的任意函数调用局部变量适用于局部范围,在函数体内定义使用的,只能在函数体内调用1.函数内部调用全局变量a="hello world!" def fun(): global a b=a return (("b="+b),("a="+a)) pri...原创 2018-07-19 11:47:46 · 751 阅读 · 0 评论 -
python列表永久排序与临时排序
1.永久排序 list.sort()>>> a=['bmw', 'volovo', 'audi', 'toyota']>>> a.sort()>>> a['audi', 'bmw', 'toyota', 'volovo'] #a的原有顺序已经改变 2.临时排序sorted(list)>>> ...原创 2018-07-16 22:38:28 · 2512 阅读 · 1 评论 -
range()函数在python3与python2中的区别
range()函数1.range()函数的含义range函数是一个用来创建算数级数序列的通用函数,返回一个[start, start + step, start + 2 * step, ...]结构的整数序列;2.range()函数的特性:1.如果step参数缺省,默认1;如果start参数缺省,默认0。2.如果step是正整数,则最后一个元素(start + i * step)小于stop。3....原创 2018-07-10 09:19:13 · 2139 阅读 · 0 评论 -
python函数
1.定义函数函数的作用,简单来说就是可以实现代码复用,易于维护;代码示例: def func(): "显示问候语" return "hello" print (func()) 函数定义规则:使用关键字def来定义,后跟函数名func(),最后,定义以冒号结尾; 后面的缩进构成了函数体(缩进四个空格);可以选择使...原创 2018-08-25 15:31:09 · 171 阅读 · 0 评论 -
python~time模块详解
time模块 在开始之前,首先要说明这几点: 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。 UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+...原创 2018-10-31 09:50:30 · 552 阅读 · 0 评论