使用Python删除文本文件中的部分内容
2011-05-29 02:42
741 查看
为了学习英语,我把从网上下载下来的电影转换成纯MP3文件,放到iTouch里去了,这样就可以直接练习听力了,另外把下载下来的字幕也放进去,听不懂的时候可以看,但有一个问题,网上载下来的字幕格式都如下所示:
如上,但存在两个问题:1、每一句前面都带有数字编号;2、带有时间戳;
我只想要里面的中英文文本,数字编号和时间戳都不需要。由于最近正在学习Python当然首先就想到了做个Python脚本来把时间戳和编号删掉。实现很简单,基本思路就是使用正则表达式匹配,把空行、纯数字行及带有“-->”的行删掉,然后再先回文本文件。
完成后的代码如下:
过程中遇到一个问题:
1、Python中没办法清空一个文件,乱看了一通,发现使用truncate()方法,传入参数为0时可以搞定。
2、开始的时候直接使用for遍历list中的元素,匹配到就删除,发现需要执行多次脚本才能删完,且有些还始终删不掉,最后终于搞明白了:使用for i in list:时,如果一匹配到就删除,则此时list中的元素会改变,进入循环的下一轮时不出问题才怪。造孽,花了近一个小时才把这个问题搞定了。于是重新定义了一个空链表new_txt,使用它来存储我要的字幕,循环完成后把new_txt写回文件。大功告成!
爽,拷到我的iTouch里,开始学习英语了!
7 00:01:44,789 --> 00:01:51,019 片名:当幸福来敲门 / 追求幸福 8 00:02:49,469 --> 00:02:52,839 马上来了 Should be here soon. 9 00:03:38,819 --> 00:03:41,189 - 我想我该列个表 - 干嘛? -I think I should make a list. -What do mean? 10 00:03:41,189 --> 00:03:43,789 - 想要的生日礼物? - 对呀 -For your birthday gifts? -Yeah.
如上,但存在两个问题:1、每一句前面都带有数字编号;2、带有时间戳;
我只想要里面的中英文文本,数字编号和时间戳都不需要。由于最近正在学习Python当然首先就想到了做个Python脚本来把时间戳和编号删掉。实现很简单,基本思路就是使用正则表达式匹配,把空行、纯数字行及带有“-->”的行删掉,然后再先回文本文件。
完成后的代码如下:
# -*- coding: utf-8 -*- # code=cp936 import string, re title_txt = open('I://pursuit_for_happiness(ch).txt', 'r+') try: full_txt = title_txt.readlines() regex1 = "/A/d*[/n]/Z" regex2 = "/d --> /d" #print full_txt new_txt = [] for line in full_txt: #print line if re.match(regex1, line) or re.search(regex2, line): #print "match", line continue else: new_txt.append(line) title_txt.seek(0) title_txt.truncate(0) #for line in full_txt: # title_txt.writelines(line) title_txt.writelines(new_txt) finally: title_txt.close() print "Over"
过程中遇到一个问题:
1、Python中没办法清空一个文件,乱看了一通,发现使用truncate()方法,传入参数为0时可以搞定。
2、开始的时候直接使用for遍历list中的元素,匹配到就删除,发现需要执行多次脚本才能删完,且有些还始终删不掉,最后终于搞明白了:使用for i in list:时,如果一匹配到就删除,则此时list中的元素会改变,进入循环的下一轮时不出问题才怪。造孽,花了近一个小时才把这个问题搞定了。于是重新定义了一个空链表new_txt,使用它来存储我要的字幕,循环完成后把new_txt写回文件。大功告成!
爽,拷到我的iTouch里,开始学习英语了!
相关文章推荐
- 使用python读取txt文件的内容,并删除重复的行数方法
- 使用Python将TXT文本内容读取后生成指定XML格式的文件
- 使用python读取txt文件的内容,并删除重复的行数
- 使用Python将TXT文本内容读取后生成指定XML格式的文件
- 使用PYTHON实现如何修改文本文件中的内容
- 使用Python抽取PDF文件内容,包括文本、图像、线条等对象
- Python文件操作,open读写文件,追加文本内容实例
- python应用系列教程——python使用smtp协议发送邮件:html文本邮件、图片邮件、文件附件邮件
- 使用PyInstaller2将Python脚本转化为可执行文件(上-安装部分)
- 使用eclipse不小心删除部分文件后如何恢复文件
- python工具 - 读取文件的部分指定内容并输出到外置窗口
- 使用PyInstaller2将Python脚本转化为可执行文件(上-安装部分)
- Python---对html文件内容进行搜索取出特定URL地址字符串,保存成列表,并使用每个url下载图片,并保存到硬盘上,使用正则re
- Hadoop:使用原生python编写MapReduce来统计文本文件中所有单词出现的频率功能
- 使用C++复制一个文本文件内容
- Android使用Facebook Conceal进行文件或文本内容的加密解密
- 【转】使用python 修改文件内容
- Linux—使用Shell命令清空或删除大文件内容的方法
- 使用PyInstaller2将Python脚本转化为可执行文件(中-使用部分)
- Python文件操作,with open as追加文本内容实例