Skip to main content

提取字幕文件内容的实用程序。

项目描述

pysub解析器

版本 质量门状态 代码覆盖率

提取字幕文件内容的实用程序。

支持的类型:

欲了解更多信息:http ://write.flossmanuals.net/video-subtitling/file-formats

用法

方法解析需要以下参数:

  • path: 字幕文件的位置。
  • subtype: 支持的文件类型之一,默认使用文件扩展名。
  • encoding:文件的编码,utf-8默认情况下。
  • **kwargs: 可选参数。
    • fps:帧率(仅由sub文件使用),23.976默认情况下。
from pysubparser import parser

subtitles = parser.parse('./files/space-jam.srt')

for subtitle in subtitles:
    print(subtitle)

输出:

0 > [BALL BOUNCING]
1 > Michael?
2 > What are you doing out here, son? It's after midnight.
3 > MICHAEL: Couldn't sleep, Pops.

字幕类

对话的每一行都由Subtitle具有以下属性的对象表示:

  • index: 文件中的位置。
  • start:对话开始的时间戳。
  • end:对话结束的时间戳。
  • text: 对话内容。
for subtitle in subtitles:
    print(f'{subtitle.start} > {subtitle.end}')
    print(subtitle.text)
    print()

输出:

00:00:36.328000 > 00:00:38.329000
[BALL BOUNCING]

00:01:03.814000 > 00:01:05.189000
Michael?

00:01:08.402000 > 00:01:11.404000
What are you doing out here, son? It's after midnight.

00:01:11.572000 > 00:01:13.072000
MICHAEL: Couldn't sleep, Pops.

清洁工

目前,提供 4 种清洁剂:

  • ascii会将每个 unicode 字符转换为其 ascii 等效字符。
  • brackets将删除它们之间的任何内容(例如,[BALL BOUNCING]
  • formatting将删除格式键,如<i></i>
  • lower_case将小写所有文本。
from pysubparser.cleaners import ascii, brackets, formatting, lower_case

subtitles = brackets.clean(
    lower_case.clean(
        subtitles
    )
)

for subtitle in subtitles:
    print(subtitle)
0 > 
1 > michael?
2 > what are you doing out here, son? it's after midnight.
3 > michael: couldn't sleep, pops.

作家

给定任何列表Subtitle和路径,它将以某种srt格式输出这些字幕。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pysub-parser-1.7.0.tar.gz (7.5 kB 查看哈希

已上传 source

内置分布

pysub_parser-1.7.0-py3-none-any.whl (11.1 kB 查看哈希

已上传 py3