"实例没有属性' iter'"不能从命令行工作

时间:2017-10-30 10:59:56

标签: python xml elementtree

我最近开始使用Python编辑XML,我仍然觉得它非常棘手......

现在我完成了我的脚本并首先手动测试了它。有效。 然后我尝试完全运行脚本,但收到了之前没有发生过的错误。

我在这里提供了一个最小的例子:

import glob
import os
import sys
import xml.etree.ElementTree as ET

curgraph = "somefolder/somefolder/editedGraphPath_full.xml"   
tree = ET.parse(curgraph)
root = tree.getroot()
i=0
for file in root.iter('file'):
  i = i+1
  print i

如果我在Python中逐行运行,一切都运行正常。但是,如果我在cmd行上运行它,我会收到此错误:

Traceback (most recent call last):
  File "/somefolder/somefolder/test.py", line 12, in <module>
    for file in root.iter('file'):
AttributeError: _ElementInterface instance has no attribute 'iter'

我尝试使用一些相关的问题,但我还没有找到任何有用的东西。

1 个答案:

答案 0 :(得分:2)

使用root.findall(..)

import glob
import os
import sys
import xml.etree.ElementTree as ET

curgraph = "somefolder/somefolder/editedGraphPath_full.xml"   
tree = ET.parse(curgraph)
root = tree.getroot()
i=0
for file in root.findall('file'):
  i = i+1
  print i