Python "For Loop" 在调试模式下工作,但在从终端正常运行时不工作?



非常业余的问题来了。我有这段代码来解析带有元素树的XML。然后我运行一个 for 循环来显示所有子标记和属性。如果我在调试中运行它,我可以看到终端中显示的每个嵌套元素和数据。但是,当我使用"shift+enter"(在此处使用 VSCode(运行整个代码时。

它给了我这个错误

(Pdb( for childin root.iter((:* 语法错误:解析时意外的 EOF(Pdb( print (child.tag, child.attrib(* 名称错误:未定义名称"子项"(人民银行(

这是代码。尝试谷歌搜索,但我可能使用了错误的关键字。没有找到任何关于这一点的明确信息。

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)

PDB 不适用于多行语句。我正在使用 Python 命令通过 powershell 运行代码,现在它工作正常。奇怪的是,逐行调试将允许代码在PDB中工作,但不能正常运行。无论哪种方式,我不知道为什么和如何,但 python 命令在这里可以解决问题。

最新更新