Python "For Loop" 正在调试模式下工作,但当 运行 它通常来自终端时不是?
Python "For Loop" is working in debug mode, but not when running it normally from terminal?
非常业余的问题来了。我有这段代码可以用 Elementtree 解析 XML。然后我 运行 一个 for 循环来显示所有 child 标签和属性。如果我 运行 它处于调试状态,我可以看到终端中显示的每个嵌套元素和数据。然而,当我 运行 整个代码与 "shift+enter" (在这里使用 VSCode)时。
它给我这个错误
(Pdb) child 在 root.iter() 中:
* 语法错误:解析时出现意外的 EOF
(Pdb) 打印 (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)
PDB 不适合多行语句。我使用 Python 命令通过 powershell 运行 代码,现在它工作正常。只是很奇怪,逐行进行调试将允许代码在 PDB 中工作,但通常不能 运行。无论哪种方式,我不知道为什么和怎么做,但是 python 命令在这里可以解决问题。
非常业余的问题来了。我有这段代码可以用 Elementtree 解析 XML。然后我 运行 一个 for 循环来显示所有 child 标签和属性。如果我 运行 它处于调试状态,我可以看到终端中显示的每个嵌套元素和数据。然而,当我 运行 整个代码与 "shift+enter" (在这里使用 VSCode)时。
它给我这个错误
(Pdb) child 在 root.iter() 中: * 语法错误:解析时出现意外的 EOF (Pdb) 打印 (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)
PDB 不适合多行语句。我使用 Python 命令通过 powershell 运行 代码,现在它工作正常。只是很奇怪,逐行进行调试将允许代码在 PDB 中工作,但通常不能 运行。无论哪种方式,我不知道为什么和怎么做,但是 python 命令在这里可以解决问题。