Python 2.7 使用ElementTree分析.config文件中的数据时出错
我正在尝试使用ElementTree从.config文件获取数据。该文件的结构如下所示,例如:Python 2.7 使用ElementTree分析.config文件中的数据时出错,python-2.7,elementtree,Python 2.7,Elementtree,我正在尝试使用ElementTree从.config文件获取数据。该文件的结构如下所示,例如: <userSettings> <AutotaskUpdateTicketEstimatedHours.My.MySettings> <setting name="Username" serializeAs="String"> <value>AAA</value>
<userSettings>
<AutotaskUpdateTicketEstimatedHours.My.MySettings>
<setting name="Username" serializeAs="String">
<value>AAA</value>
</setting>
但是,当我运行此代码时,我得到:
Traceback (most recent call last):
File "/Users/AAAA/Documents/Aptana/AutotaskUpdateTicketEstimatedHours/Main.py", line 5, in <module>
class Init():
File "/Users/AAA/Documents/Aptana/AutotaskUpdateTicketEstimatedHours/Main.py", line 16, in Init
print(''.join([site.get('Username'), app.get('value')]))
TypeError: sequence item 0: expected string, NoneType found
回溯(最近一次呼叫最后一次):
文件“/Users/AAAA/Documents/Aptana/autotaskupdatetickettestimatedhours/Main.py”,第5行,在
类Init():
文件“/Users/AAA/Documents/Aptana/autotaskupdatetickettestimatedhours/Main.py”,第16行,在Init中
打印(“”.join([site.get('Username')、app.get('value')]))
TypeError:序列项0:应为字符串,未找到非类型
我做错了什么导致了这个错误
(我的问题似乎是正确访问我的config.file的树结构)您可以将代码更改为:
print(''.join([app.get('name'), app.find('value').text]))
app
在本例中是一个应用程序
。使用get
功能,您将使用find
函数将获得一个子元素(例如
)
一旦你有了
,你就可以用文本
请注意,
site
(
)没有任何属性,因此您会得到None
@perror我真的不明白你为什么会认为这是重复的..我同意,我误解了你的问题。似乎“Username”可能是NoneType
,这就是问题所在。对不起。@perror是的,但我相信这是因为我没有正确访问树结构,有什么帮助吗?谢谢你的帮助!
print(''.join([app.get('name'), app.find('value').text]))