Добрый день. Допиливаю скрипт по переводу субтитров на Python.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import textwrap
i = 0
with open("txt") as f:
for line in f:
Line = line.strip()
print(len(Line), "- длина строки из файла TXT:", Line)
if i % 2 == 0:
FirstLine = Line
LenFirstLine = len(Line)
print("FirstLine")
with open("srt") as d:
for line in d:
srt = line.strip()
print(srt)
print(FirstLine)
if srt in FirstLine:
print(srt, " - совпадающая строка")
print(len(srt), "- длина совпадающей строки:", srt)
# Divide_srt_by_LenFirstLine = round(len(srt) / LenFirstLine, 2)
# print(Divide_srt_by_LenFirstLine, "=", "длина:", srt, "/", "длина:", FirstLine)
# ChooseBlockFromSecondLine = round(Divide_srt_by_LenFirstLine * LenSecondLine)
# print(ChooseBlockFromSecondLine, "= ( длина:", srt,
# "/ длина:", FirstLine, ") * длина:", SecondLine)
else:
SecondLine = Line
print("SecondLine =", SecondLine)
LenSecondLine = len(Line)
print("LenSecondLine - ", LenSecondLine)
i = i + 1
Нужно использовать переменную LenSecondLine внутри этой длинной конструкции, но она определится только на следующей итерации. Как ее можно определить?
Суть скрипта такая:
Есть файл SRT:
1
00:00:00,239 --> 00:00:03,280
Like most modern PBXs Asterisk supports a
call queuing feature.
И есть файл TXT:
Like most modern PBXs Asterisk supports a call queuing feature.
Как и большинство современных АТС Asterisk поддерживает управление очередями вызовов функции.
Скрипт берет строку из TXT и сравнивает ее со строками из SRT. Когда скрипт находит сопадение - можно менять на русский текст, но переменная с русским текстом будет на следующей итерации. Как быть?