match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配: 也就是说match()只有在0位置匹配成功的话才有返回, 如果不是开始位置匹配成功的话,match()就返回none. 例如: print(re.match('super', 'superstition').span()) 会返回(0, 5) 而print(re.match('super', 'insuperable')) 则返回None search()会扫描整个字符串并返回第一…
1.search和match: search:在整个字符中匹配,如果找不到匹配的就返回None match:在字符串开始位置匹配如果不匹配就返回None 2.效率对比: search: match:…
import re # #1.search和match的区别 # pattern = re.compile(r'\d+') # #match从头开始匹配 # m = pattern.match('onetwo12threefour34',6) # print(m) # #(在指定范围内查找 默认全局) 查找 只查一次 后面的8是从位置8开始只查一次 # s = pattern.search('onetwo12threefour34',8) # print(s)#34 # s = pattern.…
主要内容: 一. 锁 二. 信号量 三. 事件 通过event来完成红绿灯模型 四. 队列(重点) 队列实现进程间的通信 五. 生产者消费者模型 1. 初始版本(程序会阻塞住) 2. 升级版本一(通过抛出异常信号的方式结束进程) 3. 升级版本二(通过发送结束信号的方式结束进程) 第一种: 生产者发结束信号 第二种: 主进程发结束信号 4. 升级版本三(有多个消费者和生产者的时候需要发送多次结束信号) 六. JoinableQuene实现生产者消费者模型 一. 进程同步(锁) 在之前muitip…
Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置函数的具体介绍. Python常用模块I中内置模块常用内置函数: help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝 eval_r(str)…
import os '''使用OS模块中的fork方式实现多进程''' '''fork方法返回两次,分别在父进程和子进程中返回,子进程中永远返回0,父进程返回的是子进程的is''' if __name__=="__main__": print("当前进程(%s)开始执行..."%os.getpid()) pid=os.fork() if pid<0: print("error in fork") elif pid==0: print(&qu…
跨文件夹导入模块 1:有文件夹a,名下有ma功能,在文件夹外调用ma功能的话, 导入import a.ma 运用ma() 或者 from a import ma ma() 2;假定a有多重文件夹,想要调用多重文件夹下的模块 则是 a.x.y一直点到那个模块名 或者 from a.x.y import 功能名 3:注意点: .左侧必须是文件夹名 模块的两种被执行方式 1:第一种py文件自执行 2:第二种py文件作为模块是被导入执行 当调用py文件时 不想被Py文件自身执行所影响 则在被调用模块的p…
way 1.help() way 2.dir() # dir() 函数不带参数时,返回当前范围内的变量.方法和定义的类型列表: way 3. 使用inspect模块, inspect.getmembers(object [,predicate ] ) 返回 按名称排序的对列表中的对象的所有成员.如果提供了可选的谓词参数(将与每个成员的对象一起调用),则仅包含谓词为其返回真值的成员.(name, value)value 注解:getmembers()仅当参数为类并且这些属性已在metaclass的…
可以直接通过 模块名.变量名=xx 的方式修改模块中的全局变量,测试代码如下 模块:test_model.py x = 111 def inc_x(): global x x = x + 1 测试脚本:test.py import test_model print('test_model.x =', test_model.x) test_model.x = 10 print('test_model.x =', test_model.x) test_model.inc_x() print('tes…
最近的物联网智能网关(树莓派)项目中遇到这样一个问题:要从多个底层串口读取发来的数据,并且做出相应的处理,对于每个串口的数据的读取我能想到的可以采用两种方式: 一种是采用轮询串口的方式,例如每3s向每个串口的buffer区去取一次数据,但是这样可能会有缓冲区溢出的可能,同时,数据的同步也可能会出现一定的问题,因为数据的上传周期是可以用户自定义的,一旦用户定义的上传周期过短或过长,都可能造成读取的数据出问题. 另一种方式,就是采用多线程方式,把每个串口读取数据放在单独的子线程中,每个子线程阻塞于串…
最近在学习语音的知识,看一个语音合成实现的相关工具包的源代码,碰到了glob()函数.然后开启了我与这个函数相爱想杀的一个下午. 摘自官网解释: https://docs.python.org/2/library/glob.html#module-glob 简而言之,这个函数的作用呢就是按照unix shell的规则匹配一定模式的路径名,返回一个无序的列表. 我的代码使用: from os.path import join from glob import glob import numpy a…
match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none本文首发于Python黑洞网,博客园同步更新…
使用Python的ftplib模块连接ftp服务器时, 使用cwd()连接含中文的目录, 报错 : UnicodeEncodeError: 'latin-1' codec can't encode characters in position 17-20: ordinal not in range(256) 解决方法 一:修改源码 修改ftplib.py: 将encoding='latin-1' 修改为 : encoding='utf-8' 解决方法二:外部修改编码方式 cwd(folder.e…
转自https://www.cnblogs.com/aaronthon/p/9435967.html match()函数只检测字符串开头位置是否匹配,匹配成功才会返回结果,否则返回None search()函数会在整个字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以通过调用group()方法得到匹配的字符串,如果字符串没有匹配,则返回None.…
一.问题: Python 中requests库在发送http请求时相当方便好用,但在使用时一直受一个问题困扰,怎么才能查看请求时长呢? 自己写时间函数再相减?NO,这个方法肯定不行. 二.解决: 好吧.我们还是看看requests管方文档,功夫不负有心人,管网API竟然后介绍是: elapsed = None The amount of time elapsed between sending the request and the arrival of the response (as a t…
1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google >>> import urllib >>> f = urllib.urlopen('http://www.google.com.hk/') >>> firstLine = f.readline() #读取html页面的第一行 >>> firstLine '<…
在确定自己不会导入多个同名函数(从不同模块导入)的情况下,你可能不希望在每次调用函数的时候,都要写上模块的名字.那么,可以使用import命令的另外一种形式: >>> from math import sqrt >>> sqrt(9) 3.0 在使用了"from 模块 import 函数"这种形式的import命令之后,就可以直接使用函数,而不需要模块名作为前缀. 事实上,可以使用变量来引用函数(或者Python之中大多数的对象).比如,通过 foo…
之前用多线程的时候看见了很多文章,比较常用的大概就是join()和setDeamon()了. 先说一下自己对join()的理解吧: def join(self, timeout=None): """Wait until the thread terminates. This blocks the calling thread until the thread whose join() method is called terminates -- either normally…
1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. import json name = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} jsDumps = json.dumps(name) print(name,'类型为:%s'%type(name)) print(jsDumps,'类型为…
来自: https://www.jb51.net/article/139498.htm 1.json.dumps()       json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. 2.json.loads()          json.loads()用于将str类型的数据转成dict. 3.json.dump()        json.dump()用于将dict类型的数据转成str,并…
直接上代码看效果: # 定义一个最简单的装饰器 def user_login_data(f): def wrapper(*args, **kwargs): return f(*args, **kwargs) return wrapper # 用装饰器装饰以下两个函数 @user_login_data def num1(): print("aaa") @user_login_data def num2(): print("bbbb") if __name__ == '…
product 用于求多个可迭代对象的笛卡尔积(Cartesian Product),它跟嵌套的 for 循环等价.即: product(A, B) 和 ((x,y) for x in A for y in B)一样. 它的一般使用形式如下: itertools.product(*iterables, repeat=1) iterables是可迭代对象,repeat指定iterable重复几次,即: product(A,repeat=3)等价于product(A,A,A) 大概的实现逻辑如下(真…
这是用于序列化的两个模块: • json: 用于字符串和python数据类型间进行转换 • pickle: 用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load pickle模块提供了四个功能:dumps.dump.loads.load 那pickle和json有什么区别呢? json是可以在不同语言之间交换数据的,而pickle只在python之间使用. json只能序列化最基本的数据类型,而pickle可以序列化…
在用到uuid库的时候,发现uuid有很多个,比较好奇,就查了一下他们的区别 uuid1()——基于时间戳 uuid2()——基于分布式计算环境DCE(Python中没有这个函数) uuid3()——基于名字的MD5散列值 uuid4()——基于随机数 uuid5()——基于名字的SHA-1散列值 详细:https://www.cnblogs.com/dkblog/archive/2011/10/10/2205200.html 官方文档:https://docs.python.org/zh-cn…
test是RegExp的方法,参数是字符串,返回值是boolean类型. match是String的方法,参数是正则表达式,返回值是数组. <script type="text/javascript"> var str="javascript is good,java"; console.log(str.match(/java/gi)); //返回时数组 </script> var str="javascript is good,j…
一.meshgrid函数 meshgrid函数通常使用在数据的矢量化上. 它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对. 示例展示: 由上面的示例展示可以看出,meshgrid的作用是: 根据传入的两个一维数组参数生成两个数组元素的列表. 如果第一个参数是xarray,维度是xdimesion, 第二个参数是yarray,维度是ydimesion. 那么生成的第一个二维数组是以xarray为行,共ydimesion行的向量: 而第二个二维数组是以…
集合中union和update方法都是将多个可迭代的对象合并,但是返回的结果和对初始对象的影响却不一样 # union() 方法 - a.union(b) 将集合a和集合b取并集,并将并集作为一个新的对象的返回, 但是不改变对象a和b >>> a = {1,2,3} >>> b = {3,4,5} >>> >>> c = a.union(b) >>> print(c) {1, 2, 3, 4, 5} >>…
原地址:http://www.cnblogs.com/BeginMan/archive/2013/05/28/3104928.html 在window平台下安装第三方模块时,出现这样的错误:…
Python第三方模块中一般会自带setup.py文件,在Windows环境下,我们只需要在命令行中使用以下命令即可自动化安装 python setup.py install 安装的过程中有可能会出现“ImportError: No module named setuptools”的错误提示, Python默认是没有安装setuptools这个模块的,这也是一个第三方模块. 当你运行:yum -y install setuptools 并不生效. 解决方法: wget   https://boo…
摘自:http://www.jb51.net/article/100218.htm Python标准模块中,有多个模块用于数据的压缩与解压缩,如zipfile,gzip, bz2等等. python中zlib模块是用来压缩或者解压缩数据,以便保存和传输.它是其他压缩工具的基础.下面来一起看看python用模块zlib压缩与解压字符串和文件的方法.话不多说,直接来看示例代码. 例子1:压缩与解压字符串 import zlib message = 'abcd1234' compressed = zl…