Python學習12_python3.4.3實現txt文字指定字元提取
阿新 • • 發佈:2019-01-07
TXT文件中提取指定文字
在每天上班的路上,都會在地鐵上看看高曉鬆的《魚羊野史》。很有意思的一本書,口頭語言記錄成冊,來自《曉鬆奇談》。每天都會按著日期看,今天是哪一天就翻到哪一天,看看歷史上的今天發生了什麼事,大千世界,天文地理,古今中外,體育娛樂,歷史趣聞,明星軼事,無所不包,無所不有。總有一款你喜歡的。內容斑雜卻生動有趣,今天批評歷史罪人,痛罵漢奸走狗,明日歌頌名族英雄,讚美時代偉人,好不趣味連連。書中涉及到很多電影和書籍。發現都是用書名號“《》”包含起來的,於是心血來潮,試了試用新學的python將所有電影和書籍名提取出來。
1.提取文字思路
step 1: 首先讀取檔案
step 2: 讀取出的str轉換為list
step 3: 查詢字元“《”,當查到時,在當前索引號index後30個字元範圍內查詢“》”,並將這段字元用list的append()方法新增進一個新的list,插入“》”後插入換行符號”\n“
step 4: 新生成的的list轉換為str
step 5: 生成新文件
2.demo
#!/bin/python3 TXTtemp = open("fishandsheephistory.txt","r+") txtbuffer=TXTtemp.read() #i=0 oldlist=[''] newlist=[''] #for txtchar in txtbuffer: # oldlist.append(txtchar) # i=i+1 oldlist=list(txtbuffer) for index in range(len(txtbuffer)): if oldlist[index]=="《": for j in range(30): if oldlist[index+j]=="》": newlist.append("》") newlist.append("\n") j=0 break newlist.append(oldlist[index+j]) print(newlist) strlist="".join(newlist) txtnew=open("newtxt.txt","w") txtnew.write(strlist) txtnew.close() TXTtemp.close()
3.結果與改進思路
簡單的一段小demo,涉及Python3檔案讀寫,open(),write()方法的使用,list與str的轉換。不過主要思維邏輯還是採用C的陣列操作思想,理想的用法應該是匯入re模組,採用正則表示式才是最優的,奈何自己正則沒學好,以後會嘗試改進。而且提取出來會存在很多重複,下一步就要去重。