可以不用外部库解决这个问题吗
时间: 2024-09-24 17:31:15 浏览: 17
如果你不想使用外部库,例如`moviepy`和`langdetect`,你可以使用Python内置的`re`模块来解析SRT格式的字幕文件,同时利用字符串操作来判断行的内容属于哪种语言。不过这将涉及到更多的复杂性,因为需要手动编写模式匹配规则以识别语言标识和字幕内容。
下面是一个基本的思路,但注意这不是完整的解决方案,可能会有错误或不足之处:
```python
import re
def process_subtitle_without_library(file_name):
with open(file_name, 'r', encoding='utf-8') as f:
lines = f.readlines()
chinese_lines = []
english_lines = []
for line in lines:
if line.startswith('Dialogue:'):
lang_code = line.split(':')[1].split(',', 1)[0]
if 'zh' in lang_code: # 简单地基于代码判断中文
chinese_lines.append(line)
elif 'en' in lang_code or 'EN' in lang_code: # 类似地判断英文
english_lines.append(line)
with open('chinese_subtitles.txt', 'w', encoding='utf-8') as ch_file, \
open('english_subtitles.txt', 'w', encoding='utf-8') as en_file:
ch_file.writelines(chinese_lines)
en_file.writelines(english_lines)
process_subtitle_without_library(subtitle_path)