Я использую регулярное выражение для получения имен файлов и их подсчета из журнала SAS с помощью Python. Шаблон, который я использую
Код: Выделить всё
pattern = re.compile(r'filename="([^"]+_\d{8})".*?Note:\s+There were (\d+)', re.DOTALL)
Я получаю список кортежей с именами файлов и их количеством. Это работает нормально. Но когда я пытаюсь получить имена файлов отдельно на основе приведенного ниже кода -
Код: Выделить всё
data = []
[data.append({'filename':filename, 'count':count }) for filename, count in file_and_cnt]
Один из элементов пропускается.
Когда я это делаю
Имя файла по-прежнему пропускается. Но когда я делаю следующее -
Код: Выделить всё
for elm in file_and_cnt:
if 'target' in elm[0]:
print(elm[0])
Я получаю весь элемент, раньше отсутствующий элемент был только «целевым» файлом, и я вижу недостающий элемент. Я пытался удалить неправильные символы, менял кодировку при выполнении Finall, Finditer и все это не помогло.
Можете ли вы помочь?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... n-printing