python删除文本中行数标签的方法

yipeiwu_com6年前Python基础

问题描述:

我们在网上下载或者复制别人代码的时候经常会遇到下载的代码中包含行数标签的情况。如下图:

这些代码中包含着行数如1.,2.等,如果我们想直接运行或者copy代码需要自己手动的删除这些标签。既然学了python,我们写一段脚本来处理它吧。

思路分析:

首先,我们逐行的读取文本。

利用正则表达式,可以顺利地匹配出所有的这些标签以及后面跟随的“\t”,正则表达式为:“\d+.\t”。

接着我们将匹配的结果在这一行中删除它,使用string模块的replace方法,将匹配的结果用‘'代替。

最后,我们保存每次删除了行数标签的结果行,然后将这些行写入原文本。注意,以w的方式打开文本会删除原文本内容。

代码:

# -*- 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]) 

结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python迷宫生成和迷宫破解算法实例

Python迷宫生成和迷宫破解算法实例

迷宫生成 1.随机PRIM 思路:先让迷宫中全都是墙,不断从列表(最初只含有一个启始单元格)中选取一个单元格标记为通路,将其周围(上下左右)未访问过的单元格放入列表并标记为已访问,再随机...

用map函数来完成Python并行任务的简单示例

用map函数来完成Python并行任务的简单示例

众所周知,Python的并行处理能力很不理想。我认为如果不考虑线程和GIL的标准参数(它们大多是合法的),其原因不是因为技术不到位,而是我们的使用方法不恰当。大多数关于Python线程和...

python实现对象列表根据某个属性排序的方法详解

本文实例讲述了python实现对象列表根据某个属性排序的方法。分享给大家供大家参考,具体如下: 对于一个已有的python list, 里面的内容是一些对象,这些对象有一些相同的属性值,...

python的dataframe和matrix的互换方法

实例如下所示: #-*- encoding:utf-8 -*- import pandas as pd import numpy as np df = pd.DataFrame(np...

python定间隔取点(np.linspace)的实现

1、range函数 range(起始值,终点值,间隔) 终点值不一定是最后一个取到的值 得到的是range类的对象,最后用list转换为【】, In [4]: list(range(...