問題描述:
我們在網上下載或者復制別人代碼的時候經常會遇到下載的代碼中包含行數標簽的情況。如下圖:
這些代碼中包含著行數如1.,2.等,如果我們想直接運行或者copy代碼需要自己手動的刪除這些標簽。既然學了python,我們寫一段腳本來處理它吧。
思路分析:
首先,我們逐行的讀取文本。
利用正則表達式,可以順利地匹配出所有的這些標簽以及后面跟隨的“\t”,正則表達式為:“\d+.\t”。
接著我們將匹配的結果在這一行中刪除它,使用string模塊的replace方法,將匹配的結果用‘'代替。
最后,我們保存每次刪除了行數標簽的結果行,然后將這些行寫入原文本。注意,以w的方式打開文本會刪除原文本內容。
代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# -*- coding:utf-8 -*- import re import os import sys reload (sys) sys.setdefaultencoding( 'utf-8' ) ls = os.linesep label_regex = r '\d+.\t' content = [] for line in open ( 'source.txt' , 'r' ): mm = re.search(label_regex, line) if mm: mm = mm.group() content.append(line.replace(mm, '').rstrip()) else : break f = open ( 'source.txt' , 'w' ) f.writelines([ '%s%s' % (x,ls) for x in content]) |
結果:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/whiterbear/article/details/44997767