首页 > 编程知识 正文

python新建文本文件,Python删除整个文件夹

时间:2023-05-05 13:55:29 阅读:45094 作者:1598

为了学习英语,我把从网上下载的电影转换成了纯MP3文件,放入了iTouch。 这样就可以直接练习听力了。 另外,还加入下载的字幕,听不懂的时候就可以看。 但是,有一个问题。 网上下载的字幕格式如下。

7

0:01336044,789---- 00336001336051,019

片名:幸福了就敲门/追求幸福

8

0:02336049,469---- 00336002336052,839

马上就来了

Should be here soon。

9

0:0:38,819---- 0033600336041,189

我觉得应该列个清单-你在干什么?

- ithinkishouldmakealist.- whatdomean?

10

0:0:41,189---- 0033600336043,789

你想要生日礼物吗? -是啊

-For your birthday gifts? -Yeah

如上所述,有两个问题。 1、每句前面都有数字编号。 2、带时间戳

我只想要中英文的课文。 不需要数字号码也不需要时间戳。 因为最近在学习Python,所以当然考虑先编写Python脚本,删除时间戳和号码。 实现简单,基本思想是使用正则表达式匹配删除空行、纯数字行和带“--”的行,并将其放回文本文件中。

完成的代码如下。

#-* -编码: utf-8-* -

#代码=CP 936

导入字符串,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:

#打印行

ifre.match(regex1,line ) orre.search (regex 2,line ) :

#打印'匹配',line

连续

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上,开始学习英语了!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。