20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)

本文主要是介绍20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)
2023/8/9 19:02


由于喜欢看纪录片等外文视频,通过剪映/PR2023/AUTOSUB识别字幕之后,可以通过google翻译识别为简体中文的DOCX文档。
DOCX文档转换为TXT文档之后,还需要修饰其中的字幕序号才能得到最终所需要的简体中文SRT文档。


google.py

#f=open("./1574/%03d.ts"%(n+1),"wb")
f=open("12.txt","wb")


#f = open("p:\\ts\\1574.txt")
f1 = open("1.txt")
#for n in range(1,4000):
for n in range(1,4560):
    line = f1.readline()
    #f.write(response.content) 
    #f.write(line)
    f.decode().write(line)

f.close()


google12.py
J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\py>python google12.py > test.srt

f_path=r'1.txt'

temp = 1
xuhao = 1;

with open(f_path) as f:
    lines = f.readlines()

for line in lines:
    if temp == 1:
        print(str(xuhao))
        temp=0
    else:
        if len(line) == 1:
            #print("jiangedian!")
            temp=1
            xuhao = xuhao+1
        print(line.rstrip())


txt2srt3all.py
【处理目录下的全部ANSI编码的TXT字幕为SRT字幕,但是不处理字目录!】

# coding=utf-8
import os

# 获取当前目录
path = os.getcwd()
# 查看当前目录下所有文件
files = os.listdir(path)

# 遍历所有文件
for file in files:
    # 判断文件是否为 txt 文件
    if file.endswith('.txt'):
        # 构建新的文件名
        #new_file = file.replace('.txt', '.json')
        #new_file = file.replace('.txt', '.srt')
        new_file = file.replace('.txt', '.cn.srt')
        # 重命名文件
        #os.rename(os.path.join(path, file), os.path.join(path, new_file))
        
        
        
        f2=open(new_file,"wb")
        
        
        #f_path=r'C:\Users\Admin\Desktop\shapenetcore_partanno_segmentation_benchmark_v0_normal_2\00000001\0.txt'
        #f_path=r'1.txt'
        #f_path=file
        
        temp = 1
        xuhao = 1;
        
        #with open(f_path) as f:
        with open(file) as f:
            lines = f.readlines()
        
        for line in lines:
            if temp == 1:
                #print(str(xuhao))
                #f.decode().write(line)
                #f2.decode().write(str(xuhao))
                #f2.write(str(xuhao))
                f2.write(str(xuhao).encode())
                f2.write(str('\n').encode())
                temp=0
            else:
                if len(line) == 1:
                    #print("jiangedian!")
                    temp=1
                    xuhao = xuhao+1
                    #print(line.rstrip())
                    #f.decode().write(line)
                    #f2.decode().write(line.rstrip())
                    #f2.write(line.rstrip())
                f2.write(line.encode())

        #f=open(new_file,"wb")
        f2.close()

 


LOG:
J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\ansi的TXT>dir
 驱动器 J 中的卷是 18680688682
 卷的序列号是 2A59-69C0

 J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\ansi的TXT 的目录

2023/08/09  19:11    <DIR>          .
2023/08/09  19:11    <DIR>          ..
2023/08/09  12:22            67,713 8月7日.txt
2023/08/09  12:22           113,997 AC3EN2.剪影.txt
2023/08/09  12:22            67,713 path_to_your_word_file.txt
2023/08/09  12:22            75,347 Red.Eye.2005.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.5.1-FGT.eng9.txt
2023/08/09  19:11             1,715 txt2srt3all.py
2023/08/07  22:29             1,671 txt2srt3xuhao56.py
               6 个文件        328,156 字节
               2 个目录 50,770,313,216 可用字节

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\ansi的TXT>python txt2srt3all.py

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\ansi的TXT>dir
 驱动器 J 中的卷是 18680688682
 卷的序列号是 2A59-69C0

 J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\ansi的TXT 的目录

2023/08/09  19:11    <DIR>          .
2023/08/09  19:11    <DIR>          ..
2023/08/09  19:11            71,024 8月7日.cn.srt
2023/08/09  12:22            67,713 8月7日.txt
2023/08/09  19:11           120,955 AC3EN2.剪影.cn.srt
2023/08/09  12:22           113,997 AC3EN2.剪影.txt
2023/08/09  19:11            71,024 path_to_your_word_file.cn.srt
2023/08/09  12:22            67,713 path_to_your_word_file.txt
2023/08/09  19:11            81,213 Red.Eye.2005.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.5.1-FGT.eng9.cn.srt
2023/08/09  12:22            75,347 Red.Eye.2005.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.5.1-FGT.eng9.txt
2023/08/09  19:11             1,715 txt2srt3all.py
2023/08/07  22:29             1,671 txt2srt3xuhao56.py
              10 个文件        672,372 字节
               2 个目录 50,769,960,960 可用字节

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\ansi的TXT>

 


utf8txt2srt3all.py
【处理目录下的全部UTF8编码的TXT字幕为SRT字幕,但是不处理字目录!】

# coding=utf-8
import os

# 获取当前目录
path = os.getcwd()
# 查看当前目录下所有文件
files = os.listdir(path)

# 遍历所有文件
for file in files:
    # 判断文件是否为 txt 文件
    if file.endswith('.txt'):
        # 构建新的文件名
        #new_file = file.replace('.txt', '.json')
        #new_file = file.replace('.txt', '.srt')
        new_file = file.replace('.txt', '.cn.srt')
        # 重命名文件
        #os.rename(os.path.join(path, file), os.path.join(path, new_file))
        
        
        #f2=open(new_file,"wb")
        #with open(new_file, "w", encoding="UTF-8") as txt_file:
        #f2 = open(new_file, "wb", encoding="UTF-8")
        f2 = open(new_file, "w", encoding="UTF-8")
        
        temp = 1
        xuhao = 1;
        
        #with open(f_path) as f:
        #with open(file) as f:
        #with open(new_file, "w", encoding="UTF-8") as txt_file:
        #with open(file, "w", encoding="UTF-8") as f:
        with open(file, "r", encoding="UTF-8") as f:
            lines = f.readlines()
        
        for line in lines:
            if temp == 1:
                #f2.write(str(xuhao).encode())
                #f2.write(str('\n').encode())
                f2.write(str(xuhao))
                f2.write(str('\n'))
                temp=0
            else:
                if len(line) == 1:
                    temp=1
                    xuhao = xuhao+1
                #f2.write(line.encode())
                f2.write(line)

        f2.close()


参考资料:
https://pythonjishu.com/nwbuyryewwscpxl/
使用Python对文件进行批量改名的方法


python docx utf8 读写
https://deepinout.com/python/python-qa/t_how-to-read-and-write-unicode-utf-8-files-in-python.html
如何在Python中读写Unicode(UTF-8)文件?

 

UTF8的脚本的调试记录,写法有很大的差异的!

Microsoft Windows [版本 10.0.19045.2311]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Administrator>cd J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕 (DOCX)\utf8i的TXT

C:\Users\Administrator>j:

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>dir
 驱动器 J 中的卷是 18680688682
 卷的序列号是 2A59-69C0

 J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT 的目录

2023/08/09  19:14    <DIR>          .
2023/08/09  19:14    <DIR>          ..
2023/08/09  12:27            78,650 8月7日.txt
2023/08/09  12:27           133,327 AC3EN2.剪影.txt
2023/08/09  12:27            78,650 path_to_save_txt+utf8_file.txt
2023/08/09  12:27            78,650 path_to_your_word_file.txt
2023/08/09  19:11             1,715 txt2srt3all.py
               5 个文件        370,992 字节
               2 个目录 50,769,956,864 可用字节

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>
J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>python txt2srt3all.py
Traceback (most recent call last):
  File "J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT\txt2srt3all.py", line 34, in <module>
    lines = f.readlines()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb7 in position 82: illegal multibyte sequence

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>python txt2srt3all.py

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>python utf8txt2srt3all.py
Traceback (most recent call last):
  File "J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT\utf8txt2srt3all.py", line 23, in <module>
    f2 = open(new_file, "wb", encoding="UTF-8")
ValueError: binary mode doesn't take an encoding argument

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>python utf8txt2srt3all.py
Traceback (most recent call last):
  File "J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT\utf8txt2srt3all.py", line 33, in <module>
    lines = f.readlines()
io.UnsupportedOperation: not readable

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>python utf8txt2srt3all.py
Traceback (most recent call last):
  File "J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT\utf8txt2srt3all.py", line 38, in <module>
    f2.write(str(xuhao).encode())
TypeError: write() argument must be str, not bytes

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>python utf8txt2srt3all.py
Traceback (most recent call last):
  File "J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT\utf8txt2srt3all.py", line 40, in <module>
    f2.write(str('\n').encode())
TypeError: write() argument must be str, not bytes

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>python utf8txt2srt3all.py

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>python utf8txt2srt3all.py

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>python utf8txt2srt3all.py

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>dir
 驱动器 J 中的卷是 18680688682
 卷的序列号是 2A59-69C0

 J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT 的目录

2023/08/09  19:29    <DIR>          .
2023/08/09  19:29    <DIR>          ..
2023/08/09  19:29            75,580 8月7日.cn.srt
2023/08/09  12:27            78,650 8月7日.txt
2023/08/09  19:29           128,367 AC3EN2.剪影.cn.srt
2023/08/09  12:27           133,327 AC3EN2.剪影.txt
2023/08/09  19:29            75,580 path_to_save_txt+utf8_file.cn.srt
2023/08/09  12:27            78,650 path_to_save_txt+utf8_file.txt
2023/08/09  19:29            75,580 path_to_your_word_file.cn.srt
2023/08/09  12:27            78,650 path_to_your_word_file.txt
2023/08/09  19:29            86,176 Red.Eye.2005.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.5.1-FGT.eng9.cn.srt
2023/08/09  19:28            89,228 Red.Eye.2005.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.5.1-FGT.eng9.txt
2023/08/09  19:11             1,715 txt2srt3all.py
2023/08/09  19:24             1,568 utf8txt2srt3all.py
              12 个文件        903,071 字节
               2 个目录 50,767,888,384 可用字节

J:\!!!!文档整理20230625\en2cn\20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)\utf8i的TXT>

 

这篇关于20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/237797

相关文章

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件