<Python>将txt文本转为SRT格式字幕
要将txt文本转换为SRT格式字幕,你需要确保txt文本中的每个字幕段落遵循特定的时间戳格式。以下是一个简单的Python脚本,用于将具有时间戳的txt文本转换为SRT格式:
import os
def convert_to_srt(input_file, output_file):
with open(input_file, 'r', encoding='utf-8') as infile, \
open(output_file, 'w', encoding='utf-8') as outfile:
lines = infile.readlines()
timestamp = None
for i, line in enumerate(lines):
line = line.strip()
if not line:
continue
# 假设每个字幕段落前都有时间戳
if "-->".encode('utf-8') in line.encode('utf-8'):
timestamp = line.split("-->")
continue
# 写入字幕行
if timestamp:
sub_num = i + 1
start_time, end_time = timestamp
outfile.write(f"{sub_num}\n{start_time}\n{end_time}\n{line}\n\n")
# 使用方法
input_txt = "subtitles.txt"
output_srt = "subtitles.srt"
convert_to_srt(input_txt, output_srt)
确保你的txt文件中的每个字幕段落都有正确的时间戳,格式如00:01:01,000 --> 00:01:04,000
。这个脚本会为每一行文本创建一个新的字幕条目,并为每个字幕编号。
评论已关闭