目录
factfile_path 为json文件
casefile_path 为txt文件
去除重复行(法一:利用内置set)
先了解Python splitlines()用法
str.splitlines([keepends])
按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,参数 keepends默认为 False,不保留换行符,如果为 True,则保留换行符。在处理中,建议默认不保留,在写入的时候在定义换行符。
json涉及字符串与字典的转换,需一行一行写入,txt可利用file.writelines(list)进行整体写入
import json
# f11(json文件),f22(txt文件)为原文件,f.f2为新写入文件
with open(casefile_path2, 'a+', newline='', encoding='utf-8') as f, \
open(casefile_path, 'r', encoding='utf-8') as f11:
# casefile为json文本,去重写入
casetmp = f11.read().splitlines()
print("casetmp", type(casetmp))# <class 'list'>
casetmp1 = list(set(casetmp)) # 利用内置集合去重
casetmp1.sort(key=casetmp.index) #排序
for each in casetmp1:
case = json.loads(each)
json.dump(case, f, sort_keys=True, ensure_ascii=False)
f.write("\n")
with open(factfile_path2, 'a+', newline='', encoding='utf-8') as f2, \
open(factfile_path, 'r