一些学习时的小知识
使用进度条: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
任意非数字
上面这些就是常用的文本里面所用的预处理正则简述