python利用google翻譯方法實(shí)例(翻譯字幕文件)
英文字幕確實(shí)讓人頭疼,因此,花了一天專門研究,用python實(shí)現(xiàn)了比較簡(jiǎn)單的翻譯代碼。僅有幾十行
首先加載模塊
pip uninstall googletransgit clone https://github.com/BoseCorp/py-googletrans.gitcd ./py-googletrans && python setup.py install
使用測(cè)試
from googletrans import Translator# 實(shí)例化translator = Translator(service_urls=[’translate.google.cn’])content = ’Today is a gooday’print(translator.translate(content, dest=’zh-CN’).text.encode(’utf-8’).decode(’utf-8’))
輸出沒(méi)問(wèn)題就行
思路:
按行讀取文件內(nèi)容,翻譯特定行的字幕即可,非常簡(jiǎn)單,但是要注意編碼問(wèn)題
from googletrans import Translator# encoding=utf-8import argparsedef main(args): # 實(shí)例化 translator = Translator(service_urls=[’translate.google.cn’]) f = open(args.fs, ’r+’, encoding='utf-8') flist = f.readlines() f = open(args.fs, ’w+’, encoding='utf-8') f.writelines(flist) for x in range(4, len(flist)): if x % 4 == 0: print(x) flist[x] = translator.translate(flist[x], dest=’zh-CN’).text.encode(’utf-8’).decode(’utf-8’) + 'n' print(translator.translate(flist[x], dest=’zh-CN’).text.encode(’utf-8’).decode(’utf-8’)) f = open(args.fs, ’w+’, encoding='utf-8') f.writelines(flist)if __name__ == ’__main__’: parser = argparse.ArgumentParser(usage='it’s usage tip.', description='help info.') parser.add_argument('--fs', type=str, required=True, help='the fileloacation') args = parser.parse_args() main(args)
使用示范:
python tran.py --fs 'D:xiaxiaxiapycharmtexta.vtt'
注意事項(xiàng)
讀行,按行處理,然后寫入和打開(kāi)都要注意編碼,寫入的時(shí)候還得再最后加個(gè)換行符n 這樣才不會(huì)有錯(cuò)誤。
代碼還是比較簡(jiǎn)單,感興趣的可以在io處理和并發(fā)上還可以再優(yōu)化。
總結(jié)
到此這篇關(guān)于python利用google翻譯(翻譯字幕文件)的文章就介紹到這了,更多相關(guān)python用google翻譯字幕文件內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 詳細(xì)分析css float 屬性以及position:absolute 的區(qū)別2. xpath簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理3. ASP基礎(chǔ)知識(shí)Command對(duì)象講解4. 得到XML文檔大小的方法5. ASP實(shí)現(xiàn)加法驗(yàn)證碼6. html小技巧之td,div標(biāo)簽里內(nèi)容不換行7. PHP設(shè)計(jì)模式中工廠模式深入詳解8. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)9. PHP循環(huán)與分支知識(shí)點(diǎn)梳理10. ASP中格式化時(shí)間短日期補(bǔ)0變兩位長(zhǎng)日期的方法
