一、zipfile模块的简述zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的,在这里对zipfile的使用方法做一些记录。即方便自己也方便别人。zipfile里有两个非常常用的class,分别是ZipFile和ZipInfo,在绝大多数的情况下,我们只需要使用这两个class就可以了。ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的
系统 2019-09-27 17:51:00 2180
使用threading.Event可以实现线程间相互通信,之前的Python:使用threading模块实现多线程编程七[使用Condition实现复杂同步]我们已经初步实现了线程间通信的基本功能,但是更为通用的一种做法是使用threading.Event对象。使用threading.Event可以使一个线程等待其他线程的通知,我们把这个Event传递到线程对象中,Event默认内置了一个标志,初始值为False。一旦该线程通过wait()方法进入等待状态
系统 2019-09-27 17:50:54 2180
num1=-1whilenum1<1ornum1>500:print("请输入一个整数(1-500):")num1=int(input())dividend=[3,5,7,9,11,13,15]fornum2individend:ifnum1%num2==0:print(f"{num1}被{num2}整除")else:print(f"{num1}不能被{num2}整除")请输入一个整数(1-500):2900请输入一个整数(1-500):-13请输入一个整
系统 2019-09-27 17:50:51 2180
python的新式类是2.2版本引进来的,我们可以将之前的类叫做经典类或者旧式类。为什么要在2.2中引进newstyleclass呢?官方给的解释是:为了统一类(class)和类型(type)。在2.2之前,比如2.1版本中,类和类型是不同的,如a是ClassA的一个实例,那么a.__class__返回‘class__main__.ClassA‘,type(a)返回总是。而引入新类后,比如ClassB是个新类,b是ClassB的实例,b.__class__
系统 2019-09-27 17:49:33 2180
一开始我使用了rarfile这个库,奈何对于含有密码的压缩包支持不好,在linux上不抛出异常;之后有又尝试了unrar。。比rarfile还费劲。。所以用了调用系统命令的方法,用7z来解压通过apt可以安装上7z-full和7z的rar插件有一个地方要注意-o和-p与后面的目录、密码之间没有空格!!同样可以用这个代码暴力破解压缩包密码#coding:utf-8importosimportzipfileimporttracebackimporttimeim
系统 2019-09-27 17:49:33 2180
#!/usr/bin/python#*-*coding:utf8*-*"""适用于在/proc/meminfo中提供了可用内存MemAvailable的系统使用"""fromoptparseimportOptionParserimportsysparser=OptionParser()parser.add_option("-k",dest="k",action="store_true",default=True,help="DisplayMeminfoKB
系统 2019-09-27 17:49:21 2180
ccs的优点:css相对xpath语法比xpath简洁,定位速度比xpath快css的缺点:css不支持用逻辑运算符来定位,而xpath支持。css定位语法形式多样,相对xpath比较难记。css定位建议多用,这个定位方式很强大,定位速度快且准确度高。至于难记,用熟了就好了,对勤快的人来说,这不是问题。CSS_selector常用符号:#表示id.表示class>表示子元素,层级1.通过id属性定位:find_element_by_css_selector
系统 2019-09-27 17:49:19 2180
最近在学习慕课网PythonFlask构建微信小程序订餐系统,在11-3美食详情和分享功能一节中后端/member/share收不到前端POST的数据,被该问题卡了两天,总算发现了原因所在,特此记录下来,以供后来者查看。楼主遇到该问题,刚开始以为是漏掉了视频中某一关键点或者代码编写错漏啥的,前前后后视频又去看了好几遍,一行一行的去比对代码,可TM后端/member/share始终收不到前端POST的数据,奇了怪了(抓狂啊~~~)。所以楼主照着这个思路去百度
系统 2019-09-27 17:49:07 2180
摘要在这篇文章里,我将以反模式的角度来直接讨论Django的低级ORM查询方法的使用。作为一种替代方式,我们需要在包含业务逻辑的模型层建立与特定领域相关的查询API,这些在Django中做起来不是非常容易,但通过深入地了解ORM的内容原理,我将告诉你一些简捷的方式来达到这个目的。概览当编写Django应用程序时,我们已经习惯通过添加方法到模型里以此达到封装业务逻辑并隐藏实现细节。这种方法看起来是非常的自然,而且实际上它也用在Django的内建应用中。>>>
系统 2019-09-27 17:49:03 2180
先说说线程在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术.将一些敏感操作变成原子操作,保证同一时刻多个线程中只有一个线程在执行这个原子操作。我最常用的是互斥锁,也称独占锁。其次还有读写锁,信号量,条件变量等。除此之外,我们在进程间通信时会用到信号,向某一个进程发送信号,该进程中设置信号处理函数,然后当该进程收到信号时,执行某些操作。其实在线程中,也可以接受信号,利用这种机制,我们也可以用来实现线程同步。更多信息见//www.jb51.ne
系统 2019-09-27 17:48:40 2180