非常业余的问题来了。我有这段代码可以使用Elementtree解析XML。然后,我运行一个for循环以显示所有子标记和属性。如果在调试中运行它,则可以看到终端中显示的每个嵌套元素和数据。但是,当我使用“ shift + enter”运行整个代码时(在此处使用VSCode)。
这给我这个错误
root.iter()中子代的(Pdb): * SyntaxError:解析时出现意外的EOF (Pdb)打印(child.tag,child.attrib) * NameError:未定义名称“子代” (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)
答案 0 :(得分:0)
PDB不适用于多行语句。我正在使用Python命令通过powershell运行代码,现在工作正常。奇怪的是,与调试逐行进行会使代码在PDB中工作,但无法正常运行。无论哪种方式,我都不知道为什么和怎么做,但是python命令可以解决问题。