Как извлечь текст из файла .srt для заданной отметки времени в Python - PullRequest
2 голосов
/ 19 сентября 2019

Я просмотрел несколько библиотек субтитров Python (pysrt, pysubs2, srt), но пока не нашел простого способа извлечь запись srt из файла с заданной отметкой времени.Любое направление ценится.

cat subtitle_file.srt

...

7

00: 00: 49,450 -> 00: 00: 51,219

Точно так же, как онипосмотрел

8

00: 00: 51,252 -> 00: 00: 53,454

Выступление на шоу Эд Салливана.

...

-

>>> import SUBTITLE_LIBRARY
>>> subs = SUBTITLE_LIBRARY.load("subtitle_file.srt")
>>> subs.getSubtitleEntry(t=51.500)
Performing on the ed sullivan show.

1 Ответ

3 голосов
/ 19 сентября 2019

Вы можете использовать pysrt , который может загружать и вырезать субтитры из файла srt.

Ваш код будет выглядеть следующим образом:

import pysrt

subs = pysrt.open('subtitle_file.srt')
parts = subs.slice(starts_before={'minutes': 0, 'seconds': 51.500}, ends_after={'minutes': 0, 'seconds': 51.500})

for part in parts:
    print(part)
...