Python:如何将两个空行之间的文本读入字符串
我是编程和Python的初学者,我正在编写一个脚本来处理.srt字幕文件。我的问题是,我不知道如何:通读一个文件,首先分析文本的开头和第一个空行之间的文本,然后分析该空行和下一个空行之间的文本,直到文件的结尾(“分析”通过例如计算一部分的长度,将另一部分转换为数字等) 您可以阅读.srt格式规范并查看示例(类型:Plain);文件末尾有一个空行。我想将每个字幕的显示时间/持续时间与其中的字符数进行比较。从文件的开头开始,每个副标题(及其编号、持续时间信息和文本)与下一个副标题之间用一个空行隔开(一个“\n”,我可以用类似Python:如何将两个空行之间的文本读入字符串,python,text,subtitle,srt,Python,Text,Subtitle,Srt,我是编程和Python的初学者,我正在编写一个脚本来处理.srt字幕文件。我的问题是,我不知道如何:通读一个文件,首先分析文本的开头和第一个空行之间的文本,然后分析该空行和下一个空行之间的文本,直到文件的结尾(“分析”通过例如计算一部分的长度,将另一部分转换为数字等) 您可以阅读.srt格式规范并查看示例(类型:Plain);文件末尾有一个空行。我想将每个字幕的显示时间/持续时间与其中的字符数进行比较。从文件的开头开始,每个副标题(及其编号、持续时间信息和文本)与下一个副标题之间用一个空行隔开(
if“\n”和len(line)==2:
)。时间代码总是包含一个“->”并且总是以三位数字结尾,所以如果我把它放在一个字符串中,我就可以知道它在哪里。问题是,我需要以某种方式做到以下几点:
我可以很容易地完成第二步,但我不知道如何浏览整个文件并告诉Python:找到每个字幕文本的结尾,计算每行中字符的长度,加上它,读取持续时间,将它们除以,将其与行号一起输出,然后对下一个字幕执行相同的操作,直到到达文件的结尾。如果是一个字幕,我可以很容易地做到,但我不知道如何检查一个字幕,然后寻找下一个。我已经找了2个小时了,但找不到类似的东西。正则表达式是帮助解决此类处理的强大工具。 您可以使用正则表达式来匹配或解析单个记录或整个文件。 如果你不知道python中的正则表达式,我强烈建议你做一些关于这个主题的教程。。。这应该会给你很多想法,如何把它应用到你的问题上 关于这个主题,有很多很好的参考资料,但这里只有一个: