Python "For Loop" работает в режиме отладки, но не при нормальном запуске его из терминала? - PullRequest
0 голосов
/ 11 апреля 2019

Очень любительский вопрос поступающего.У меня есть этот код для анализа XML с Elementtree.Затем я запускаю цикл for, чтобы показать все дочерние теги и атрибуты.Если я запускаю его в режиме отладки, я вижу все вложенные элементы и данные, отображаемые в терминале.Однако, когда я запускаю весь код с помощью «shift + enter» (здесь используется VSCode).

Это дает мне эту ошибку

(Pdb) для дочернего элемента в root.iter (): * SyntaxError: неожиданный EOF при синтаксическом анализе (Pdb) print (child.tag, child.attrib) * NameError: имя 'child' не определено (Pdb)

Вот код.Пробовал гуглить, но я, вероятно, использую не те ключевые слова.Не могу найти ничего ясного по этому поводу.

import xml.etree.ElementTree as ET
tree = ET.parse('90301007.xml')
root = tree.getroot()
receiptid = "74925"
root.tag
root.attrib
for child in root.iter():
    print (child.tag, child.attrib)

1 Ответ

0 голосов
/ 12 апреля 2019

PDB Не подходит для многострочных операторов. Я запускаю код через powershell с командой Python, и теперь он работает нормально. Было просто странно, что построчное с отладкой позволило бы коду работать в PDB, но не работать нормально. В любом случае, почему и как, я не знаю, но команда Python помогает.

...