我们知道在我们想通过动漫,电影来学习英语,日语或者其它语言时,往往只能找到字幕文件,如.srt
的字幕文件,可是一般它是这样的
1
00:00:00,006 --> 00:00:02,000
- [Voiceover] Hey, this is Ray Villalobos,
2
00:00:02,000 --> 00:00:04,007
Senior Staff Author,
and I wanna welcome you
3
00:00:04,007 --> 00:00:06,001
to a brand new edition
4
00:00:06,001 --> 00:00:09,002
of Building Websites
with Node and Express.js.
有些苦恼是不是,不想要那些时间轴,只有字幕就好了,然后我就可以把这个文件打印出来,把音频截取成几段,然后反复对照着听,这就是需求。
文件操作
# 以下都是在python交互环境下运行
#打开字幕文件
f = open('/Users/user/Desktop/zhimu.txt')
f.read()
截图用到的技术:
Command+shift+3
:全屏截图,保存截图到桌面
Command+shift+4
:鼠标选定区域截图,保存截图到桌面
我们可以看到文件是带\n
的,不需要的是时间轴
#遍历每一行,
for each_line in f:
print(each_line)
这样我们就可以没有换行符\n
,文字也一行一行的显示了
lines = list(f)
lines
再遍历也可以达到上面的效果。f.seek()
的作用是还不是太熟悉
最后记得f.close()
最终代码
f = open('/Users/user/Desktop/zhimu.txt')
for each_line in f:
if each_line[0:1].isdigit():#如果第一个字母是数字则pass
pass #这里如果不写任何语句会报错,而pass即不做任何事
else:
zm_file = open('/Users/user/Desktop/zm.txt','a')
# 这里'a'的作用是以写入模式打开,如果文件存在,则在末尾追加
zm_file.writelines(each_line)
zm_file.close()
f.close()
string.isdigit()
是个字符串的方法,只包含数字则返回true,否则返回false
最终效果展示
- [Voiceover] Hey, this is Ray Villalobos,
Senior Staff Author,
and I wanna welcome you
to a brand new edition
of Building Websites
with Node and Express.js.
In this course, I'm going to show you
结语
这个只是初步尝试,还需要很多改进,想这样通过实际需求,来learning by doing,不断驱动学习python。
目前也刚刚开始学习,博客写的这些内容用到的知识好多在今天之前我也不知道,想记录下来,以后可以复习。更关键的是要做,不会就查资料,方法好不好,代码优不优雅,都没关系,只要自己想做到的效果达到了,需求达到了,就很不错了。那些事情在自己一次次的实践中,慢慢也会解决的。
而我们差的只是一个开始。
python,是一门强大的语言,让它改变我的生活吧
:)
参考: