先说说线程在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术.将一些敏感操作变成原子操作,保证同一时刻多个线程中只有一个线程在执行这个原子操作。我最常用的是互斥锁,也称独占锁。其次还有读写锁,信号量,条件变量等。除此之外,我们在进程间通信时会用到信号,向某一个进程发送信号,该进程中设置信号处理函数,然后当该进程收到信号时,执行某些操作。其实在线程中,也可以接受信号,利用这种机制,我们也可以用来实现线程同步。更多信息见//www.jb51.ne
系统 2019-09-27 17:48:40 1905
一、字符串(str)1.1字符串的定义字符串就是一串字符,是编程语言中表示文本的数据类型在Python中可以使用一对双引号"或者一对单引号'定义一个字符串可以使用索引获取一个字符串中指定位置的字符,索引计数从0开始也可以使用for循环遍历字符串中每一个字符1#!/usr/bin/envpython32#-*-coding:utf-8-*-34"""5@author:fyh6@time:2019/5/317"""89str1="hellopython"101
系统 2019-09-27 17:48:32 1905
查看python搜索包的路径的实现方法:python搜索包的路径存储在sys.path下查看方法:importsyssys.path临时添加python搜索包路径的方法:方法1:(先进入python)importsyssys.path.append(‘路径')(这种方式仅对当前python有效)方法2:exportPYTHONPATH=路径(这种方式对所有的python有效)永久写入sys.path的方法:方法1:在已有的sys.path搜索路径下添加.p
系统 2019-09-27 17:48:22 1905
一数据结构和GIL1queue标准库queue模块,提供FIFO的queue、LIFO的队列,优先队列Queue类是线程安全的,适用于多线程间安全的交换数据,内部使用了Lock和Condition为什么说容器的大小不准确,其原因是如果不加锁,是不可能获取到准确的大小的,因为你刚读取了一个大小,还没取走,有可能被就被其他线程修改了,queue类的size虽然加了锁,但是依然不能保证立即get,put就能成功,因为读取大小和get,put方法是分来的。2GIL
系统 2019-09-27 17:48:10 1905
Python3使用pillow库生成随机验证码的代码如下所示:importrandom#pillow包的使用fromPILimportImage,ImageDraw,ImageFont,ImageFilter#Image负责处理图片#ImageDraw负责处理画笔#ImageFont负责处理文字#ImageFilter负责处理路径img=Image.new('RGB',(150,50),(255,255,255))#建立一个图片'''RGB:表示采用RGB
系统 2019-09-27 17:47:55 1905
我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图:str_list=str(['a','b','c'])forrowinstr_list:print(row)结果:Python字符串类型列表转换成真正列表类型那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码fro
系统 2019-09-27 17:47:49 1905
采集内容常需要得到网页返回的验证码做进一步处理下面代码是用python写的用来获取网页http状态码的脚本#!/usr/bin/python#-*-coding:utf-8-*-#encoding=utf-8#Filename:states_code.pyimporturllib2url='//www.jb51.net/'response=Nonetry:response=urllib2.urlopen(url,timeout=5)excepturllib
系统 2019-09-27 17:47:48 1905
你学习到今日,会发现python你基本都掌握了。可以完成基本的东西。。。。。突然有个问题,是为什么我还不能搞程序,完整实现一点东西(贵在坚持,入门就想吃大胖子,想太多了)另外一个问题,我们写出来简单的代码,本来一个很简单的内容,但是真正能用缺要debug很久。。。。(排查)bug###是昆虫,臭虫的意思,在计算机发展过程中,有一个故事,就是昆虫依附在电路板某个地方,导致无法开机。。。debug###就是驱虫,除虫的意思。(会网络的朋友,经常无奈的时候会de
系统 2019-09-27 17:47:06 1905
swapCase()方法返回所有可大小写,基于字符大小写交换字符串的一个副本。语法以下是swapCase()方法的语法:str.swapcase();参数NA返回值此方法返回其中所有基于大小写字符交换字符串的一个副本。例子下面的例子显示的swapCase()方法的使用。#!/usr/bin/pythonstr="thisisstringexample....wow!!!";printstr.swapcase();str="THISISSTRINGEXAMP
系统 2019-09-27 17:47:06 1905
前一章介绍了python中的集中基本数据类型,本章着重记录python中str字符串类型数据的应用。str字符串主要由两种方法,一种是方法,一种是魔术方法。由于内容实在过于多,本章只介绍其中的方法。我会按照pycharm给的内置方法顺序(即字母排列顺序)全部依次介绍各种方法的使用。print(dir(str))"""'__add__','__class__','__contains__','__delattr__','__dir__','__doc__',
系统 2019-09-27 17:46:53 1905