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