Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何将两个空行之间的文本读入字符串_Python_Text_Subtitle_Srt - Fatal编程技术网

Python:如何将两个空行之间的文本读入字符串

Python:如何将两个空行之间的文本读入字符串,python,text,subtitle,srt,Python,Text,Subtitle,Srt,我是编程和Python的初学者,我正在编写一个脚本来处理.srt字幕文件。我的问题是,我不知道如何:通读一个文件,首先分析文本的开头和第一个空行之间的文本,然后分析该空行和下一个空行之间的文本,直到文件的结尾(“分析”通过例如计算一部分的长度,将另一部分转换为数字等) 您可以阅读.srt格式规范并查看示例(类型:Plain);文件末尾有一个空行。我想将每个字幕的显示时间/持续时间与其中的字符数进行比较。从文件的开头开始,每个副标题(及其编号、持续时间信息和文本)与下一个副标题之间用一个空行隔开(

我是编程和Python的初学者,我正在编写一个脚本来处理.srt字幕文件。我的问题是,我不知道如何:通读一个文件,首先分析文本的开头和第一个空行之间的文本,然后分析该空行和下一个空行之间的文本,直到文件的结尾(“分析”通过例如计算一部分的长度,将另一部分转换为数字等)

您可以阅读.srt格式规范并查看示例(类型:Plain);文件末尾有一个空行。我想将每个字幕的显示时间/持续时间与其中的字符数进行比较。从文件的开头开始,每个副标题(及其编号、持续时间信息和文本)与下一个副标题之间用一个空行隔开(一个“\n”,我可以用类似
if“\n”和len(line)==2:
)。时间代码总是包含一个“->”并且总是以三位数字结尾,所以如果我把它放在一个字符串中,我就可以知道它在哪里。问题是,我需要以某种方式做到以下几点:

  • 阅读字幕文本,它可以是1-3行带换行符,计算其字符长度

  • 读取持续时间,以秒为单位转换为持续时间

  • 读取行号(以便能够将其与我的结果一起输出到某处,例如“44行的持续时间为4.54秒”)


  • 我可以很容易地完成第二步,但我不知道如何浏览整个文件并告诉Python:找到每个字幕文本的结尾,计算每行中字符的长度,加上它,读取持续时间,将它们除以,将其与行号一起输出,然后对下一个字幕执行相同的操作,直到到达文件的结尾。如果是一个字幕,我可以很容易地做到,但我不知道如何检查一个字幕,然后寻找下一个。我已经找了2个小时了,但找不到类似的东西。

    正则表达式是帮助解决此类处理的强大工具。 您可以使用正则表达式来匹配或解析单个记录或整个文件。 如果你不知道python中的正则表达式,我强烈建议你做一些关于这个主题的教程。。。这应该会给你很多想法,如何把它应用到你的问题上

    关于这个主题,有很多很好的参考资料,但这里只有一个: