小编Con*_*ddy的帖子

Python 2.6.1:预期路径分隔符([)

我在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") 
Run Code Online (Sandbox Code Playgroud)

test.xml是: -

<?xml version="1.0"?>
<users>
<user afp="yes" cifs="yes"  username="user1" volume="vol" webdev="yes" /></user>
</users>
Run Code Online (Sandbox Code Playgroud)

这样做只会在username = username时删除xml.提前感谢您宝贵的时间.

python xpath elementtree python-2.6

12
推荐指数
1
解决办法
5308
查看次数

Linux 屏幕命令自动化

我正在使用Linuxscreen命令来一一运行不同的目录文件。我有 33 个 VM 文件夹,每个文件夹都包含要执行的图像。

Root directory      = /home/root/
VM folder available = /home/root/vm1,vm2,vm3...vm32
Run Code Online (Sandbox Code Playgroud)

我必须同时运行所有虚拟机。因此我正在使用该screen命令。每个screen命令都将在虚拟机上执行。它应该遍历所有 33 个 VM 文件夹并同时执行所有 33 个 VM 映像。

Ctrl + A, C = new screen
Run Code Online (Sandbox Code Playgroud)

以下是我的代码:

     for (( i=0; i<=33; i++))
        do
        screen
        ls
        vm1 vm2 vm3 vm4 ....vm33
        cd vm1
        ls
        qemu-system-x86_64 -kernel image -hda core-image-full-cmdline-qemux86-64.ext3 -smp 4 -m 512 -nographic --append \
    "root=/dev/hda console=ttyS0 rw mem=512M oprofile.timer=1"
        cd ..
        screen
        qemu-system-x86_64 -kernel image -hda core-image-full-cmdline-qemux86-64.ext3 -smp 4 …
Run Code Online (Sandbox Code Playgroud)

bash shell automation

5
推荐指数
2
解决办法
3148
查看次数

如何使用Python ElementTree将新数据附加到现有XML?

我是Python/ElementTree的新手.我有以下XML示例:

<users>
    <user username="admin" fullname="admin" password=""  uid="1000"/>
    <user username="user1" fullname="user1" password="" grant_admin_rights="yes"><group>my_group</group><group>group_2</group></user>
</users>
Run Code Online (Sandbox Code Playgroud)

我想以下内容附加到现有XML:

<user username="+username+" password="+password+"><group>+newgroup+</group></user>
Run Code Online (Sandbox Code Playgroud)

所以我的最终输出应该是这样的:

    <users>
        <user username="admin" fullname="admin" password=""  uid="1000"/>
        <user username="user1" fullname="user1" password="" grant_admin_rights="yes"><group>my_group</group><group>group_2</group></user>
        <user username="+username+" password="+password+"><group>+newgroup+</group></user>
    </users>
Run Code Online (Sandbox Code Playgroud)

这是我的尝试:

import sys
import xml.etree.ElementTree as ET

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

    def final_xml(self):
        root_new  = ET.Element("users") 
        for child in self.root:
            username             = child.attrib['username']
            password             = child.attrib['password']  
            user    = ET.SubElement(root_new, "user") 
            user.set("username",username)               
            user.set("password",password) 
            try:
                fullname …
Run Code Online (Sandbox Code Playgroud)

python elementtree

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

elementtree ×2

python ×2

automation ×1

bash ×1

python-2.6 ×1

shell ×1

xpath ×1