一些学习时的小知识
使用进度条:from tqdm import tqdm
并且使用的时候在迭代器对象外面加上一层tqdm()
对内存压力更小的文件访问操作:
from smart_open import open
smart_open是一个高效大文件流处理模块。可以兼容python的open函数
按字符个数读入文件内容:
f.read(token_num)
更加开发式地打印内容:
print(repr(line)) # 这种形式不会对转义字符进行直接转义
使用正则来处理文本:
import re# 导入正则模块# 替换匹配字符串original = 'asdhldhlfh'tran = re.sub(' +',' ',original[, count=0])# 经典的将多个空格替换成一个 可选参数count是用来限制替换次数,0是替换全部# flag 参数 re.l 忽略大小写 re.M 多行模式 re.S是.包括换行符(任意字符)# re.X 忽略空格和# 后面的注释tran = re.sub('[,.]',original)
^模式符用来匹配字符串开头
$模式符用来匹配字符串某尾
.模式符匹配除了换行以外的所有字符
[符号]表示匹配中括号以内的所有字符
[^符号]不匹配中括号以内的所有字符
*是0到多个用于匹配的模式串
re+是1到多个用于匹配的模式串
re?匹配零到一个用于匹配的模式串
re{n}匹配指定重复模式串的字符
a|b匹配a或者b
(re)对re进行分组收集这些匹配的文本的集合
\W 字母数字下划线
\W匹配非字母数字下划线
\s匹配任意空白字符==[\t\n\r\f]
\S匹配任意非空白字符
\d任意数字
\D任意非数字
上面这些就是常用的文本里面所用的预处理正则简述
