Пишу конвертер для субтитров в srt из формата:
0:01
строка с репликой
...
10:05
строка с репликой
Ну и так далее. Проблема возникла на уровне преобразования изначальной строки с таймкодом в строку формата чч:мм:сс Я написал функцию:
def timecode(v):
perviy=['0', '0', ':', '0', '0', ':', '0', '0']
m1=list(v)
m1.reverse()
i=0
for s in m1:
perviy.pop(i)
perviy.insert(i, s)
i=i+1
perviy.reverse()
p=''
for s in perviy:
p=p+s
Прекрасно работает, если дальше в файле просто прописать:
print(timecode(0:05))
И с любыми аналогичными таймкодами такого формата. Но, если я применяю функцию для строк исходного файла:
n=0
n2=1
start=open('1.txt', 'r')
itog=open('1.srt', 'w')
for line in start:
if n%2==0:
itog.write(str(n2)+'\n')
itog.write(timecode(line))
n2=n2+1
else:
itog.write(line+'\n')
n=n+1
Я получаю результат без одного символа:
00:0:05
Или вот такое, когда число минут двузначное:
0010:34
Голову уже сломал. Одна и то же функция, разница только в источнике строк. Что это такое и что можно сделать?