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引用(import)某个模块提示没找到对应模块的解决方法

python引用(import)某个模块提示没找到对应模块的解决方法

自己检查了很多遍,自己写的每错,但是还是报没有找到对应python模块。目录结构如下图所示: __init__.py这个文件需要引入models下的todo_kanban.py文件。_...

python批量将excel内容进行翻译写入功能

由于小编初来乍到,有很多地方不是很到位,还请见谅,但是很实用的哦! 1.首先是需要进行文件的读写操作,需要获取文件路径,方式使用os.listdir(路径)进行批量查找文件。 fil...

Python编程入门的一些基本知识

Python编程入门的一些基本知识

 Python与Perl,C和Java语言等有许多相似之处。不过,也有语言之间有一些明确的区别。本章的目的是让你迅速学习Python的语法。 第一个Python程序: 交互模式...

python 图片验证码代码分享

复制代码 代码如下: #coding: utf-8 import Image,ImageDraw,ImageFont,os,string,random,ImageFilter def i...

Python实现时钟显示效果思路详解

Python实现时钟显示效果思路详解

语言:Python IDE:Python.IDE 1.编写时钟程序,要求根据时间动态更新 2.代码思路 需求:5个Turtle对象, 1个绘制外表盘+3个模拟表上针+1个输出文字...