简单写一个python吧。当给自己练手了。
[Python] 纯文本查看 复制代码 import os
#-----------------------------------------------------------------------------------------
#思路:考虑题目分行长度不一,只能找一个区分点来先把题目分割开。
# 题目分割点:“、\n”
# 可能存在的BUG:如果题目一样,答案顺序不同,这种简单方式就无法区分出来。那就得麻烦一点了,伤脑筋,留给大佬们写吧。
#-----------------------------------------------------------------------------------------
def split_file(file_path):
filetxt=[] #存放文件内容
newlines=[]
with open(file_path,"r",encoding="utf-8")as file:# 打开文件,文件路径自己修改,注意要\\转义
filetxt=str(file.read()).split("、\n") #以“、\n”分割文件内容,存入列表,不然无法区分单个题目
for i in filetxt:
if(len(i)>10):#简单判断一下长度,不是单题目标号就处理
newlines.append(str(i).split("无\n")[0]+"无\n") #去除因为分割留下来的题目号,只保留题目内容
return newlines
# 怎么能直接给新文件名加NEW呢,据说程序员一行代码一毛钱,一瓶0.6的冰露到手了 -_!!!
def rename_file(file_path):
file_name=os.path.basename(file_path) #获取文件名
new_file_name=file_name+"_new.txt" #修改文件名
new_file_path=os.path.join(os.path.dirname(file_path),new_file_name) #修改文件路径
os.rename(file_path,new_file_path) #重命名文件
return new_file_path #返回新文件路径
if __name__ == '__main__':
file_panth="D:\\UTF-8编码2247.txt" # 文件路径自己修改,注意要\\转义,也就是路径的\号全部打两个
#判断文件是否存在,不存在就瞎逼逼一下抱怨抱怨
if os.path.exists(file_panth):
n=split_file("D:\\UTF-8编码2247.txt") # 文件路径自己修改,注意要\\转义,也就是路径的\号全部打两个
#转换到set类型,去除filetxt重复的项
filetxt1=set(n)
num=1 #重新编号题号
for i in filetxt1:
with open(rename_file(file_panth),"a+",encoding="utf-8")as file1: #写出文件,文件命后面加_new
file1.write(str(num)+"、\n"+str(i))#把题目号加进来写出
num+=1 #题目编号加1
else:
print("文件不存在啊- -!!")
|