搜索多个xml来查找具有特定属性值的xml,然后将其复制到另一个文件夹

时间:2019-03-28 15:03:36

标签: python xml

我想搜索多个xml文件并检查特定的属性值,每当我找到所需的值时,我都想复制xml等

   <foo type="foo">
  <foo1 sport="Ghh" Code="349133" timestamp="1553189828.6330519">
    <rr result="false" Number="12" id="12" time="17:37:00">
      <Trap trap="1">
        <Runner id="493434" name="Dunb">
          <hh>
            <hh id="1" version="1" />
          </hh>
        </Runner>
    </rr>
  </foo1>
</foo>

所以我想找到所有的xml文件并用Code="349133"rr id = "12"/复制它们

到目前为止,我的代码如下

import os
import xml.etree.ElementTree as ET
from shutil import copyfile


def process(data):
    xml_obj = ET.fromstring(data)
    for rr in xml_obj:
        for k,v in rr.items():
            if k == 'Code' and v == '349133':
                return True
    return False


path = 'C:/Users/pp/.spyder-py3/data'
xml_files = os.listdir(path)
for xml_file in xml_files:
    xml_file_path = os.path.join(path, xml_file)
    fp = open(xml_file_path)
    data = fp.read()
    if process(data):
      //copyfile(src, dst)

我需要帮助在def process(data)函数上添加id属性,以便对其进行检查。然后我需要您对复制文件的帮助,因为它似乎无法正常工作。

从位于stackoverflow How do I copy a file in Python?上的此处的帖子中找到了复制文件

预先感谢

0 个答案:

没有答案