我想搜索多个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?上的此处的帖子中找到了复制文件
预先感谢