Tkinter图形界面设计见:https://www.cnblogs.com/pywjh/p/9527828.html#radiobutton
终止python运行函数:
采用sys.exit(0)正常终止程序
python读写文件(python3.0读写二进制文件后面一定要加b,否则会报错“write() argument must be str, not bytes”,例如:ab,a+b):
#读写二进制文件,例如mp3、mp4
film = requests.get(self.vedio_url, headers=self.headers).content
with open(self.name+'.mp4', 'a+b') as f:
f.write(film)
1、匹配规则
2、re.compile:编译一个正则表达式,用这个结果去search,match,findall,finditer能够节省时间
3、re.findall:返回列表,找所有的匹配项
优点:可以匹配到所有满足条件的匹配项
缺点:但是这个函数不会匹配换行
import re
pattern = re.compile(r'\d+.\d*')
result = pattern.findall("123.141593, 'bigcat', 232312, 3.15")
for item in result:
print(item)
#结果
123.141593
232312,
3.15
4、re.search:匹配就返回一个变量,通过group取匹配到的第一个值,不匹配就返回None,group会报错
优点:可以匹配到换行,函数第三个参数加上re.S
缺点:只能匹配到第一个满足条件的匹配项
html = ''
pattern1 = ',(.*?)#'
url_old = re.search(pattern1,html,re.S)
5、re.finditer:返回一个迭代器,所有的结果都在这个迭代器中,需要通过循环+group的形式取值,能够节省内存
优点:可以匹配到换行,且能匹配到所有满足条件的匹配项
ret = re.finditer('\d+','alex83taibai40egon25')
for i in ret:
print(i.group()) 结果:
83
40
25
6、re.match 方法用于查找字符串的头部(也可以指定起始位置),它是一次匹配,只要找到了一个匹配的结果就返回,而不是查找所有匹配的结果。它的一般使用形式如下:
match(string[, pos[, endpos]])
其中,string 是待匹配的字符串,pos 和 endpos 是可选参数,指定字符串的起始和终点位置,默认值分别是 0 和 len (字符串长度)。因此,当你不指定 pos 和 endpos 时,match 方法默认匹配字符串的头部。
当匹配成功时,返回一个 Match 对象,如果没有匹配上,则返回 None。
ret = re.match('\d+','172sjkhk按实际花费928')
print(ret.group()) 结果:
172
>>> import re
>>> pattern = re.compile(r'\d+') # 用于匹配至少一个数字 >>> m = pattern.match('one12twothree34four') # 查找头部,没有匹配
>>> print m
None >>> m = pattern.match('one12twothree34four', 2, 10) # 从'e'的位置开始匹配,没有匹配
>>> print m
None