Я начинающий программист и Python, и я пишу скрипт для работы с файлами субтитров .srt. Моя проблема в том, что я не знаю, как: прочитать файл и проанализировать текст сначала между началом текста и первой пустой строкой, а затем между этой пустой строкой и следующей пустой строкой до конца файла («проанализировать», например, рассчитать длину его части, преобразовать другую часть в числа и т. д.).Python: как читать текст между двумя пустыми строками в строку
Вы можете прочитать о спецификации формата .srt и посмотреть пример here (тип: Plain); в конце файла есть пустая строка. Я хочу сравнить время/продолжительность отображения каждого подзаголовка с количеством символов в нем. Начиная с начала файла каждый субтитр (с его номером, информацией о продолжительности и текстом) отделяется от следующей пустой строкой («\ n», я могу найти их с sth, как if "\n" in line and len(line) == 2:
). Временные коды всегда содержат «->» и всегда заканчиваются на три цифры, поэтому, если у меня есть это в строке, я могу выяснить, где она находится. Проблема заключается в том, мне нужно как-то сделать следующее:
Прочитайте текст субтитров, который может быть 1-3 линии с разрывами строк, вычислить его длину символа.
Прочитать продолжительность, преобразовать в продолжительность в секундах.
Прочитайте номер строки (чтобы иметь возможность выводить ее где-нибудь с моими результатами, например, «продолжительность строки 44 равна 4,54 с»).
я могу сделать второй легко, но я не уверен, как идти по всему файлу и сказать Python: найти конец текста каждого титра, в вычислить длину символов в каждой строке, добавить, что , прочитайте продолжительность, разделите их, выведите их с номером строки и сделайте то же самое со следующим субтитрами, пока не дойдете до конца файла. Если бы это был один субтитр, я мог бы сделать это легко, но я не уверен, как сделать эту проверку на одном, а затем искать следующий. Я искал 2 часа для этого и не могу найти ничего подобного.