python
文章平均质量分 67
琐碎整理
子春二七
这个作者很懒,什么都没留下…
展开
-
python实现int(long)转换成bytes
【代码】python实现int(long)转换成bytes。原创 2024-10-10 19:31:05 · 258 阅读 · 0 评论 -
Python多进程编程 ---- 基础篇7. Pool
----------基础篇进程池引入为什么要用进程池呢?如果我们有几百上千个任务需要自行,那么按照之前的做法,我们就要创建几百上千个进程,每一个进程都要占用一定的内存空间,进程间的切换也费时,系统开销很大,而且,难道这成千上百个进程能同时并发执行的有几个呢?其实也就那么几个子,所以,根本没必要创建那么多进程。那么怎么办呢?那就创建进程池。进程池里有固定数量的进程,每次执行任务时都从进程池中取出一个空闲进程来执行,如果任务数量超过进程池中进程数量,那么就等待已经在执行的任务结束之后,有进程空闲之后再执行,原创 2021-03-11 10:17:57 · 291 阅读 · 0 评论 -
Python多进程编程 ---- 基础篇6. Pipe
----------基础篇引子创建管道方法:Pipe([duplex]):在进程之间创建一条管道,并返回元组(conn1,conn2),其中conn1,conn2表示管道两端的连接对象,强调一点:必须在产生Process对象之前产生管道。dumplex:默认管道是全双工的,如果将duplex射成False,conn1只能用于接收,conn2只能用于发送。conn1.recv():接收conn2.send(obj)发送的对象。如果没有消息可接收,recv方法会一直阻塞。如果连接的另外一端已经关闭,那么原创 2021-03-05 16:59:38 · 460 阅读 · 0 评论 -
Python多进程编程 ---- 基础篇5. Queue
----------基础篇引子Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。常用方法:get( [ block [ ,timeout ] ] ) :从队列读取并且删除一个元素。如果q为空,此方法将阻塞,直到队列中有项目可用为止。block用于控制阻塞行为,默认为True。timeout是可选超时时间,用在阻塞模式中。如果blocked为True(默认值),并且timeout为正值,那么在等待时间内没有取到任何元素,会抛出Queue.Empty异常。如果blocked为原创 2021-03-05 16:50:25 · 490 阅读 · 0 评论 -
Python多进程编程 ---- 基础篇4. Event
----------基础篇引子python进程的事件用于主进程控制其他子进程的执行,Event类有如下几个主要方法:wait() 插入在进程中插入一个标记(flag)默认为 False,当 flag为False时,程序会停止运行进入阻塞状态;set() 使flag为True,程序会进入非阻塞状态;clear() 使flag为False,程序会停止运行,进入阻塞状态 ;is_set() 判断flag 是否为True,是的话返回True,不是则返回False红绿灯原创 2021-03-05 16:33:15 · 348 阅读 · 0 评论 -
Python多进程编程 ---- 基础篇3. Semaphore
----------基础篇这个和Lock差不多引子锁同时只允许一个线程更改数据,而信号量是同时允许一定数量的进程更改数据 ,用来控制对共享资源的访问数量。假如有一下应用场景:有10个人吃饭,但只有三张餐桌,只允许做3个人,没上桌的人不允许吃饭,已上桌吃完饭离座之后,下面的人才能抢占桌子继续吃饭:如果不用信号量,肯定是10人一窝蜂一起吃from multiprocessing import Processimport timeimport randomdef fun(i): prin原创 2021-03-05 16:13:39 · 196 阅读 · 0 评论 -
Python多进程编程 ---- 基础篇2.Lock(进程同步)
----------基础篇引子进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理。例1:多个进程共享同一打印终端①并发运行,效率高,但竞争同一打印终端,带来了打印错乱from multiprocessing import Processimport os,timedef work(): print('%s is running' %os.getpid()) time.原创 2021-03-05 16:00:24 · 259 阅读 · 0 评论 -
Python多进程编程 ---- 基础篇1.Process
----------基础篇multiprocessing 引入python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。1. Pro原创 2021-03-05 15:16:20 · 332 阅读 · 0 评论 -
Python中列表与元组、字典与集合、字符串
列表与元组、字典与集合、字符串大杂烩列表与元组基础相同点:列表和元组都是一个可以放置任意数据类型的有序集合;列表和元组都支持负数索引;列表和元组都支持切片操作;列表和元组都可以随意嵌套。不同点:列表是动态的(mutable):长度大小不固定,可以随意地增加、删减或者改变元素。元组是静态的(immutable):长度大小固定,无法增加删减或者改变,对任何改变只有创建一个新的...转载 2020-04-12 10:34:00 · 592 阅读 · 0 评论 -
python实验一、基础
实验一、Python基础(比较基础没有给出代码,回去自己敲一敲)目标1.熟练掌握Python解释器安装与基本用法2.熟练掌握pip命令在线安装Python扩展库的方法3.熟练运用Python运算符4.熟练运用Python内置函数5.养成对用户输入立即进行类型转换的习惯一、Python安装与开发环境搭建1.安装Python解释器记得要勾选 Add pythonx.xx to P...原创 2020-04-12 10:08:26 · 2634 阅读 · 0 评论 -
python:selenium如何对网页元素进行定位
一、相关函数首先看一下有什么可以用到的函数吧。定位单个匹配元素的方法有:find_element_by_idfind_element_by_namefind_element_by_xpathfind_element_by_link_textfind_element_by_partial_link_textfind_element_by_tag_namefind_element...原创 2020-04-11 22:41:29 · 837 阅读 · 0 评论 -
python:Selenium有些网页元素找不到
selenium测试无法定位到网页元素,可能有以下原因1、元素未加载完成,可以设置个等待时间2、如果元素在iframe里,在窗口里找是找不到元素的,更是无法点击。所以,要切换到iframe里去找元素。driver.switch_to_frame(“frameName”) # 根据框架名来切换(某些情况下亦有driver.switch_to.frame)driver.switch_to_...转载 2020-04-11 22:25:43 · 1543 阅读 · 0 评论