日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

将电影字幕整理后,便于打印学习

發布時間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将电影字幕整理后,便于打印学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

將電影字幕整理后,便于打印學習

  • 看電影學英語

看電影學英語

電影字幕可以從網上下載scr文件,下載后便于學習。但是對于孩子,總看計算機也不好,因此需要將字幕打印下來。如果直接打印scr文件,則文件相當大,沒用的換行也非常多。因此對其整理后,可以減少打印數量。手工整理非常費時費力,因此想到使用python寫個簡單的處理代碼。由于很簡單,未加注釋,對照scr文件,很容易理解。

處理過程中,如果對白之間有超過5秒的空白,則認為切換到另一個對話場景。

python代碼如下:

from __future__ import print_functionimport sys import osdef time_interval(start, end):int_start = int(start[:2])*3600 + int(start[3:5])*60 + int(start[6:8])int_end = int(end[:2])*3600 + int(end[3:5])*60 + int(end[6:8])return int_end - int_startdef space_print(x, n):if len(x)<n:for ln in range(n-len(x)):print(" ", end='')print(x, end='')def subtitles2screen(scr):with open(scr) as f_scr:previous_finish_time = ""previous_subtitles_index = ""subtitles_index = "";scene_index = 1for line in f_scr.readlines():line = line.replace("\n", "").strip()if line.isdigit():subtitles_index = lineelif line.find(" --> ") != -1:if previous_finish_time.strip()=="":print("scene: " + str(scene_index), end='')scene_index += 1elif time_interval(previous_finish_time, line[0:12]) > 5:print("\nscene: " + str(scene_index) + " " + previous_finish_time, end='')scene_index += 1previous_finish_time = line[17:29]elif line == "":passelse:if subtitles_index == previous_subtitles_index:print(" " + line, end='')else:print("")space_print(subtitles_index, 4)print(": " + line, end='')previous_subtitles_index = subtitles_indexif __name__ == "__main__" :if len(sys.argv) < 2:print("usage: python " + sys.argv[0] + " <subtitles file>")elif not os.path.exists(sys.argv[1]):print("subtitles file does not exist")else:subtitles2screen(sys.argv[1])

總結

以上是生活随笔為你收集整理的将电影字幕整理后,便于打印学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。