如何从.srt文件中获取Python中给定时间戳的文本

Posted

技术标签:

【中文标题】如何从.srt文件中获取Python中给定时间戳的文本【英文标题】:How to fetch text from .srt file for a given timestamp in Python 【发布时间】:2019-09-19 12:30:26 【问题描述】:

我浏览了一些 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

在 ed sullivan 节目中表演。

...

-

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

【问题讨论】:

你有什么问题? 【参考方案1】:

您可以使用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)

【讨论】:

正是我想要的。谢谢。

以上是关于如何从.srt文件中获取Python中给定时间戳的文本的主要内容,如果未能解决你的问题,请参考以下文章

在熊猫中获取与给定日期时间最接近的时间戳的行的有效方法

ion-datetime:如何获取没有时间戳的日期值?

用于将日期和时间列转换为 .csv 中的 unix 时间戳的 Bash 脚本

如何从 DB2 中的两个时间戳中获取差异?

如何从给定的 XSLT 文件中获取版本号。

Python时间戳的一些使用