目录
一、文件处理
OS模块导航文件系统
os.path 常用路径操作
扫描二维码关注公众号,回复:
12661589 查看本文章

二、正则表达式和re模块
re.match函数:
函数语法:
re.match(pattern, string, flags=0)
参数说明:
pattern:匹配的正则表达式
string:要匹配的字符串
flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等
re.serach函数:扫描整个字符串并返回第一个成功的匹配,参数同match函数
match和search区别:
1.re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None
2.re.search匹配整个字符串,直到找到第一个匹配
.span() 返回匹配的位置
字符串替换
re.sub(pattern,repl,string,count=0)
pattern:正则中的模式字符串
repl:替换的字符串,也可以是一个函数
string:要被查找替换的原始字符串
count: 模式匹配后替换的最大次数,默认0表示替换所有的匹配
import re
phone = "188-3333-4566 # this is a phone number"
num = re.sub(r'#.*$',"",phone)
print("电话号码是: ",num)
num = re.sub(r'\D',"",phone)
print("电话号码是: ",num)
\D 非数字外的其他字符
匹配组
import re
line = "cats are smarter than dogabc"
matchObj = re.match(r'(.*) are (.*?)$',line)
# .*?非贪婪
if matchObj:
print("matchObj.group():",matchObj.group())
print("matchObj.group(1):", matchObj.group(1))
print("matchObj.group(2):", matchObj.group(2))
else:
print("no match")
()代表一个匹配组,are 前后各有一个匹配组,划定了要匹配的范围
输出的时候用group() 默认为匹配全部匹配组,可以指定参数选择要用哪个匹配组
三、文件操作
file对象代表对一个文件的连接,而不是文件本身
如果试图打开一个不存在的文件或向其写入数据,python将自动创建该文件
使用完文件后要进行关闭操作,释放内存??
a = open('test.txt','w')
a.write('test')
a.close()
对文件可用的操作模式有
案例:读取文件中的时间
from datetime import datetime
with open('test.txt','w') as f:
f.write('今天是 ')
f.write(datetime.now().strftime('%Y-%m-%d'))
with open('test.txt','r') as f:
s = f.read()
print('open for read...')
print(s)
with open('test.txt','rb') as f:
s = f.read()
print('open as binary for read...')
print(s)
print(s.decode('gbk'))
读取文件
readline
readlines