打开并解析文件夹中的多个 XML 文件

Cha*_*rem 1 python glob

下面的 Python 代码适用于一个 XML。当我尝试打开并解析多个 XML 文件时,问题就出现了,这些文件具有相似的结构并保存在文件夹中(第 4 行 -> data = open('[0-9].xml',"rb")。我我正在尝试正则表达式,但我不确定这是否也适用于命名文档。

所有文档的名称为“11111.xml、22222.xml、33333.xml ...”等。

import xml.etree.ElementTree as ET
import re

data = open ('[0-9].xml',"rb")
tree = ET.parse (data)
lst_jugador = tree.findall('data_panel/players/player')
for jugador in lst_jugador:
    print (jugador.find('name').text, jugador.get("id"))
Run Code Online (Sandbox Code Playgroud)

sta*_*mer 5

您可以使用glob模块。

import glob
import xml.etree.ElementTree as ET

filenames = glob.glob("[0-9].xml")  # change the pattern to match your case

for filename in filenames:

    with open(filename, 'r', encoding="utf-8") as content:

        tree = ET.parse(content)

        lst_jugador = tree.findall('data_panel/players/player')

        for jugador in lst_jugador:

            print (jugador.find('name').text, jugador.get("id"))
Run Code Online (Sandbox Code Playgroud)