Python脚本自动去除代码文件中的行号标签

唐可
唐可
发布时间:2026-10-13| 5人浏览过
原创

本文介绍使用Python脚本自动清理从网络复制代码时产生的行号标签问题。通过逐行读取文件,利用正则表达式匹配数字加点及制表符的模式,并结合字符串替换方法移除多余字符,最终将清洗后的内容写回原文件,实现高效批量处理。

问题描述:

在从互联网下载或复制他人代码时,经常会遇到代码文件中包含行号标签的情况。具体表现如截图所示:

这些代码中夹杂了如“1.”、“2.”等行号标识,若需直接运行或复制代码片段,必须手动逐一删除这些标签。既然已经掌握了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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。