主要实现遍历某个目录下的所有文件,遍历文件每一行,用正则表达式获取以“–依赖源表”或“–目标表”所在行的内容和对应的文件名,用到了python的两个库,代码如下:
import os
import re
f = open('C:/Users/HZ/Desktop/out.txt', 'w', encoding='UTF-8')
for root,dirs,files in os.walk(r"C:/Users/HZ/Desktop/新建文件夹"):
for file in files:
src_catalog=os.path.join(root,file)
print(src_catalog)
file_object = open(src_catalog, 'r', encoding='UTF-8')
try:
for line in file_object:
g = re.search("^--依赖源表.*\]*", line)
if g:
print(g.group())
f.writelines(line)
k = re.search("^--目标表", line)
if k:
print(k.group())
f.writelines(line)
finally:
file_object.close()
这里存在一个小bug,当文件首行以‘–依赖源表’或者‘–目标表’开头时,代码读取不到,具体原因可能与utf-8编码格式有关,避免这种错误,可以优化一下正则的代码。