代码

# coding=utf-8
import chardet

# 读取txt
def Read_txt(file_path ):
    try:
        file = open(file_path, 'rb')  # 二进制打开文件
        r = file.read()
        f_charinfo = chardet.detect(r)  # 获取编码
        file.close()
        return r.decode(f_charinfo['encoding']).replace("\n","").replace("\r","").replace(" ","") # 根据编码打开
    except:
        return ''

def Save_txt(file_path,txt):
    new_txt_list = []
    index = 0
    sentence = ''
    for char in txt :
        if index == 10 :
            new_txt_list.append(sentence)
            index = 0  # 重置句子索引
            sentence = ''  # 重置句字符串
        else :
            sentence = sentence + char
            index = index + 1
    new_txt_list.append(sentence)  # 最后不足10个字也添加
    '''
    1
    00:00:01,410 --> 00:00:04,740
    字幕1

    2
    00:00:04,910 --> 00:00:06,400
    字幕2

    '''
    index_sent = 1
    index_time = 1
    with open(file_path, 'w') as file :
        for sent in new_txt_list :
            file.write(str(index_sent))
            file.write('\n')
            index_sent = index_sent + 1
            file.write(tranform_int_to_time(index_time)+',000 --> '+ tranform_int_to_time(index_time + 2)+',000')
            file.write('\n')
            index_time = index_time + 2
            file.write(sent)
            file.write('\n')
            file.write('\n')

def tranform_int_to_time(seconds):
    m, s = divmod(seconds, 60)
    h, m = divmod(m, 60)
    return ("%d:%02d:%02d" % (h, m, s))


file_path_read = r'outputfile\read.txt'
file_path_output = r'readfile\out.txt'

Save_txt(file_path_output,Read_txt(file_path_read))

截图,后缀需要手动修改

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐