【问题标题】:Parsing XML in Python: Typeerror: 'str' object is not callable在 Python 中解析 XML:Typeerror: 'str' object is not callable
【发布时间】:2020-10-24 08:49:10
【问题描述】:

我正在尝试在 python 中解析 xml,但我不断收到此错误:TypeError: 'str' object is not callable on line 10 "print("Date:", tree.find('date').text( ))"

我的代码如下:

import xml.etree.ElementTree as ET

data = '''<person>
<date>Wednesday, Oct 14 2020 1:03AM</date>
<email hide="yes" />
<username>John Doe</username>
</person>'''


tree = ET.fromstring(data)
print("Date:", tree.find('date').text())
print("Email attr:", tree.find('email').get('hide'))

提前谢谢你。

【问题讨论】:

  • 日期是 xml.etree.ElementTree.Element 类型,文本是属性,而不是函数。因此错误不可调用。 date.text 将代替 date.text()

标签: python python-3.x


【解决方案1】:

删除.text之后的()

import xml.etree.ElementTree as ET

data = '''<person>
<date>Wednesday, Oct 14 2020 1:03AM</date>
<email hide="yes" />
<username>John Doe</username>
</person>'''


tree = ET.fromstring(data)
print("Date:", tree.find('date').text)  # <-- only `.text`
print("Email attr:", tree.find('email').get('hide'))

打印:

Date: Wednesday, Oct 14 2020 1:03AM
Email attr: yes

【讨论】:

    【解决方案2】:

    你应该删除.text之后的(),因为这是一个属性而不是方法:

    print("Date:", tree.find('date').text)
    print("Email attr:", tree.find('email').get('hide'))
    

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 2021-04-21
      • 2020-08-09
      • 1970-01-01
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      相关资源
      最近更新 更多