使用Python删除文本文件中的部分内容
来源:互联网 发布:河北大学知乎 编辑:程序博客网 时间:2024/05/17 07:19
为了学习英语,我把从网上下载下来的电影转换成纯MP3文件,放到iTouch里去了,这样就可以直接练习听力了,另外把下载下来的字幕也放进去,听不懂的时候可以看,但有一个问题,网上载下来的字幕格式都如下所示:
如上,但存在两个问题:1、每一句前面都带有数字编号;2、带有时间戳;
我只想要里面的中英文文本,数字编号和时间戳都不需要。由于最近正在学习Python当然首先就想到了做个Python脚本来把时间戳和编号删掉。实现很简单,基本思路就是使用正则表达式匹配,把空行、纯数字行及带有“-->”的行删掉,然后再先回文本文件。
完成后的代码如下:
过程中遇到一个问题:
1、Python中没办法清空一个文件,乱看了一通,发现使用truncate()方法,传入参数为0时可以搞定。
2、开始的时候直接使用for遍历list中的元素,匹配到就删除,发现需要执行多次脚本才能删完,且有些还始终删不掉,最后终于搞明白了:使用for i in list:时,如果一匹配到就删除,则此时list中的元素会改变,进入循环的下一轮时不出问题才怪。造孽,花了近一个小时才把这个问题搞定了。于是重新定义了一个空链表new_txt,使用它来存储我要的字幕,循环完成后把new_txt写回文件。大功告成!
爽,拷到我的iTouch里,开始学习英语了!
- 使用Python删除文本文件中的部分内容
- 使用Editplus删除文本文件中的重复行
- shell删除文本文件中的空格
- JAVA 删除文本文件中的空行
- 使用PYTHON实现如何修改文本文件中的内容
- 如何使用python修改文本文件
- 插入替换删除文本文件中的某一行
- vim 删除文本文件中的重复行
- C#读取超大文本文件的部分内容
- 使用python实现文本文件合并功能
- python删除文本文件中最后一个换行符
- 使用Java中的BufferedReader、BufferedWriter复制文本文件
- mysql替换数据库中的部分内容
- mysql替换数据库中的部分内容
- 如何批量删除多个文本文件中的指定字符串
- 巧用工具删除文本文件中的多余空白空行
- VC编程实现:删除一个文本文件中的空行
- bat脚本7_删除文本文件中的字符
- 用java来备份还原mysql数据库
- java 学习心得
- 通过特征码找断点
- 35个非主流开源数据库 你知道吗?
- (一个初学者)如何学习以及使用C++。
- 使用Python删除文本文件中的部分内容
- Java HashMap实现详解
- 如何优化C/C++语言代码(程序员必读)
- 命令添加three20
- MAC OS获取root权限方法
- 一篇关于计算机专业考研的很有深度的文章(转)
- 关注计算机专业的就业前景
- 给计算机专业学生的一封信
- 计算机专业,课堂之外可以读哪些书?