由于工作需要需要提取一个txt文件中的特定字符:
原始文件结构如下:
LOGON_NAME\":\"xiaoming\",\"DISPLAY_NAME\":\"中国小明\",\"USER_PASSWORD\":\"123\",\"ORG_NAME
LOGON_NAME\":\"xiaohuang\",\"DISPLAY_NAME\":\"中国小黄\",\"USER_PASSWORD\":\"456\",\"ORG_NAME
LOGON_NAME\":\"xiaoming\",\"DISPLAY_NAME\":\"中国小明\",\"USER_PASSWORD\":\"123\",\"ORG_NAME
只需要提取如下部分
使用os模块提取路径信息
使用re正则模块提取
代码如下:
import re
import os
#读入本目录下文件
path = os.getcwd() #自动读取本目录下的txt文件
filetest = os.listdir(path)
filepath = path + "\\" +filetest[0]
txt = open(filepath,'r',encoding='utf-8').read() #提取原始文件为utf-8编码SS
#提取过滤字符
result = ""
test_txt = re.findall("...+DISPLAY_NAME",txt)
quchong_test_txt = list(set(test_txt)) #去重,原始数据需要为列表
result = '\n'.join(quchong_test_txt)
result_1 = result.replace("LOGON_NAME\\\":\\\"","")
result_2 = result_1.replace("\\\",\\\"DISPLAY_NAME","")
print(result_2)
#输出结果
filename = 'result.txt'
with open(filename,'a')as file_object:
file_object.write(result_2)