我們知道在我們想通過動漫,電影來學(xué)習(xí)英語牲证,日語或者其它語言時,往往只能找到字幕文件关面,如.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.
有些苦惱是不是,不想要那些時間軸缭裆,只有字幕就好了键闺,然后我就可以把這個文件打印出來,把音頻截取成幾段澈驼,然后反復(fù)對照著聽辛燥,這就是需求。
文件操作
# 以下都是在python交互環(huán)境下運行
#打開字幕文件
f = open('/Users/user/Desktop/zhimu.txt')
f.read()
截圖用到的技術(shù):
Command+shift+3
:全屏截圖缝其,保存截圖到桌面
Command+shift+4
:鼠標(biāo)選定區(qū)域截圖挎塌,保存截圖到桌面
我們可以看到文件是帶\n
的,不需要的是時間軸
#遍歷每一行内边,
for each_line in f:
print(each_line)
這樣我們就可以沒有換行符\n
榴都,文字也一行一行的顯示了
lines = list(f)
lines
再遍歷也可以達(dá)到上面的效果。f.seek()
的作用是還不是太熟悉
最后記得f.close()
最終代碼
f = open('/Users/user/Desktop/zhimu.txt')
for each_line in f:
if each_line[0:1].isdigit():#如果第一個字母是數(shù)字則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()
是個字符串的方法和屎,只包含數(shù)字則返回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
結(jié)語
這個只是初步嘗試,還需要很多改進(jìn)柴信,想這樣通過實際需求套啤,來learning by doing,不斷驅(qū)動學(xué)習(xí)python。
目前也剛剛開始學(xué)習(xí)随常,博客寫的這些內(nèi)容用到的知識好多在今天之前我也不知道潜沦,想記錄下來,以后可以復(fù)習(xí)绪氛。更關(guān)鍵的是要做唆鸡,不會就查資料,方法好不好枣察,代碼優(yōu)不優(yōu)雅争占,都沒關(guān)系袄琳,只要自己想做到的效果達(dá)到了,需求達(dá)到了燃乍,就很不錯了。那些事情在自己一次次的實踐中宛琅,慢慢也會解決的刻蟹。
而我們差的只是一個開始。
python嘿辟,是一門強(qiáng)大的語言舆瘪,讓它改變我的生活吧
:)
參考: