這是要解析的xml
config="/etc"
index="1"
ip="172.16.1.239"
phone="15011262015"
realname="田振華"
username="tianzh"/>
config="/usr"
index="2"
ip="1.1.1.1"
phone="110"
realname="龔凡"
username="gongf"/>
config="/lib"
index="3"
ip="2.2.2.2"
phone="120"
realname="安吉旺"
username="anjw"/>
user>
這是之前的**
def
get_xml_data
(filename='config_new.xml'):
key_list = ["username","index","realname","config","ip","phone"]
doc = minidom.parse(filename)
root = doc.documentelement
user_nodes = root.getelementsbytagname('userinfo') #根據節點名獲取節點集合
usersinfo= #鍵值列表 使用者資訊集合 乙個字典表示一行user資訊
adict = {}
for node in user_nodes:
for key in key_list:
value = node.getattribute(key) #根據屬性名獲取屬性值
if value.strip():#如果屬性值不為空(不是"") 則加入到字典中
adict[key] = value;
print adict
print usersinfo
return usersinfo
本來是想將從xml中獲取出來的資訊做為鍵值做成字典放到列表中,結果返回的usersinfo變成了這樣:
[, ,
]解決此問題代
def
get_xml_data
(filename='config_new.xml'):
key_list = ["username","index","realname","config","ip","phone"]
doc = minidom.parse(filename)
root = doc.documentelement
user_nodes = root.getelementsbytagname('userinfo') #根據節點名獲取節點集合
usersinfo= #鍵值列表 使用者資訊集合 乙個字典表示一行user資訊
for node in user_nodes:
adict = {} #臨時字典初始化
for key in key_list:
value = node.getattribute(key) #根據屬性名獲取屬性值
if value.strip():#如果屬性值不為空(不是"") 則加入到字典中
adict[key] = value;
print adict
print usersinfo
return usersinfo
列印usersinfo也正常了
[, ,
]解決了!
關於向列表迴圈新增字典
例如 list 路人甲 路人乙 路人丙 new list dict for i in range 3 dict name list i dict print new list 結果 這是因為 字典 dict 在python裡是object,不屬於primitive type 即int float s...
python 迴圈列表中字典元素
1.目的 實現列表中字典kay value的遍歷 迴圈列表中字典元素 info list 第一種方式 index 0 while index print name s nage s nhight s info list index name info list index age info list...
給列表裡新增字典時被最後乙個覆蓋
item items 先宣告乙個字典和乙個列表,字典用來新增到列表裡面 item index 1 給字典賦值 items 新增到列表裡面復合預期 item index 2 現在修改字典 item 修改成功 將修改後的新字典新增到列表 items 按預期應該是 找一下原因 id item id ite...