gpt4 book ai didi

python 2.6.1 : expected path separator ([)

转载 作者:太空狗 更新时间:2023-10-29 17:44:12 25 4
gpt4 key购买 nike

我在 python 2.6.1 中遇到路径分隔符错误。我没有在 python 2.7.2 版本中发现这个问题,但不幸的是我只在 2.6.1 中需要这个。还有其他方法可以达到同样的目的吗? :(

我的代码:-

import xml.etree.ElementTree as ET #version 1.2.6
import sys

class usersDetail(object):

def __init__(self, users=None):
self.doc = ET.parse("test.xml")
self.root = self.doc.getroot()

def final_xml(self,username):
r = self.root.find("user[@username='user1']") #not working in 2.6.1 :(
self.root.remove(r)
print r
tree = ET.ElementTree(self.root)
tree.write("msl.xml")

if __name__ == '__main__':
parser = usersDetail()
parser.final_xml("user1")

test.xml 是:-

<?xml version="1.0"?>
<users>
<user afp="yes" cifs="yes" username="user1" volume="vol" webdev="yes" /></user>
</users>

这将做的是,只有当用户名 = 用户名时,它才会删除 xml。提前感谢您抽出宝贵时间。

最佳答案

您正在使用 XPath 表达式,Python 2.6 中包含的 ElementTree 版本不支持该表达式。您需要在 .findall() 之后手动过滤属性:

def final_xml(self,username):
users = self.root.findall("user")
for user in users:
if user.attrib.get('username') == 'user1':
break
else:
raise ValueError('No such user')

# `user` is now set to the correct element
self.root.remove(user)
print user
tree = ET.ElementTree(self.root)
tree.write("msl.xml")

关于 python 2.6.1 : expected path separator ([),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13667979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com