随笔 - 633,  文章 - 0,  评论 - 13,  阅读 - 48万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
复制代码
import datetime
import sys
sys.setrecursionlimit(50000)


#将字幕分割成一句一行
with open(r"D:\PycharmProjects\cigenpic\制作字幕\z.txt",'r',encoding='utf-8') as f:
    result_list = f.readlines()
    print(result_list)
    print(len(result_list))

with open(r"D:\PycharmProjects\cigenpic\制作字幕\out_z.txt", 'a', encoding='utf-8') as f:
    f.write("\n")   #写一行空行,因为字幕从1开始读,而文本第一行为0,所以要添加一行,便于把正常字幕作为第二行

for j in range(0,len(result_list)):
    one = result_list[j]

    print("行内容:")
    print(one)
    one = one.replace("\n","")  #替换换行符
    print("替换后")
    print(one)
    with open(r"D:\PycharmProjects\cigenpic\制作字幕\out_z.txt", 'a', encoding='utf-8') as f:
        if '.' in one:
            one_list = one.split(".")
            for i in range(0,len(one_list)):
                print(one_list[i])
                one_content = one_list[i].strip().strip("\n")
                if  one_content!="":
                    f.write(one_content+"\n")
        elif one == "":
            pass

        else:
            f.write(one + "\n")



f1= open(r"D:\PycharmProjects\cigenpic\制作字幕\out_z.txt",'r',encoding='utf-8')
f2= open(r"D:\PycharmProjects\cigenpic\制作字幕\out_z.srt",'w',encoding='utf-8-sig')
#返回一个文件对象
line=f1.readline()#调用文件的readline()方法
no=1
start_time = datetime.datetime.strptime('00:00:00','%H:%M:%S')
end_time = datetime.datetime.strptime('00:00:00','%H:%M:%S')
while line:
    line= f1.readline()
    start_time=start_time+datetime.timedelta(seconds=3)
    end_time=start_time+ datetime.timedelta(seconds=2)
    str_start_time = datetime.datetime.strftime(start_time,'%H:%M:%S')
    str_end_time  =datetime.datetime.strftime(end_time,'%H:%M:%S')
    f2.write(str(no)+'\n')
    f2.write(str_start_time+",000"+" --> "+str_end_time+",000"+'\n')    #注意毫秒设置成000,剪映识别可以对的上,
    f2.write(line+'\n')
    no=no+1
f1.close()
f2.close()
复制代码

 

posted on   大话人生  阅读(426)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示