编写python程序,删除srt文件中低1,2,4,5,6,8,9,10,12以此类推
时间: 2024-05-05 08:20:33 浏览: 62
基于python实现删除指定文件类型
回答:
您好,可以使用以下代码实现:
```python
# 需要修改的行号集合
lines_to_delete = set([1, 2, 4, 5, 6, 8, 9, 10, 12])
# 原 srt 文件名和新 srt 文件名
srt_filename = 'input.srt'
new_srt_filename = 'output.srt'
with open(srt_filename, 'r', encoding='utf-8') as f:
lines = f.readlines()
with open(new_srt_filename, 'w', encoding='utf-8') as f:
for i, line in enumerate(lines):
# 如果当前行是需要删除的行,则跳过该行和下一行
if (i + 1) % 4 == 0 and (i // 4 + 1) in lines_to_delete:
continue
f.write(line)
```
其中,`lines_to_delete` 是需要删除的行号集合,`srt_filename` 是原 srt 文件名,`new_srt_filename` 是新 srt 文件名。
程序读取原 srt 文件的所有行,对于每个 4 行为一组的时间轴、字幕文本等信息,如果当前组的第一行的行号在 `lines_to_delete` 中,则跳过该组,即删除该时间轴和字幕文本。
最终将处理后的所有行写入新 srt 文件中。
希望可以帮到您!
阅读全文