Как мне напечатать несколько меток времени из стенограммы? - PullRequest
2 голосов
/ 05 августа 2020
• 1000
import re
timestamps = []
linenum = 0
pattern = re.compile(r"\d{2}:\d{2}:\d{2},\d{3}\s-->\s\d{2}:\d{2}:\d{2},\d{3}")
for line in transcript:
    linenum += 1
    if pattern.search(line) != None:
        timestamps.append(linenum, line.rstrip('\n'))
print(timestamps)

На выходе ... ничего. Никакой ошибки или чего-то еще. Но я хочу sh распечатать все строки, содержащие метки времени.

Я не знаю, что не так с кодом или как это исправить. Кто-нибудь может помочь? Буду очень признателен.

Спасибо!

1 Ответ

2 голосов
/ 05 августа 2020

Вам нужно добавить кортежи или списки в список timestamps.

import re
timestamps = []
linenum = 0
pattern = re.compile(r"\d{2}:\d{2}:\d{2},\d{3}\s-->\s\d{2}:\d{2}:\d{2},\d{3}")
for line in transcript:
    linenum += 1
    if pattern.search(line):
        timestamps.append((linenum, line.rstrip('\n')))
print(timestamps)

См. Python демонстрацию .

С вводом типа

12:12:12,234 --> 12:13:46,346
Blah
12:14:12,121 --> 12:15:89,678
Blah2

На выходе будет

[(1, '12:12:12,234 --> 12:13:46,346'), (3, '12:14:12,121 --> 12:15:89,678')]
...