У меня есть около 5000+ XML-файлов в каталоге a .Я планирую читать их один за другим и анализировать их, однако я не уверен, что os.listdir (путь) является хорошим способом,
import xml.etree.ElementTree as ET
import os
list_files = os.listir(os.curdir)
for files in list_files:
tree = ET.parse(files)
root = tree.getroot()
os.listdir (путь) возвращает список с именамифайлы внутри этого каталога.После этого цикл for, который принимает строковые имена файлов и передает их объекту класса Parser, может оказаться не очень хорошим способом, так как синтаксический анализатор снова выполнит поиск файлов, во второй раз, с их именами в том же каталоге.
Есть ли лучший способ?Я что-то упустил, может быть, логика указателя для поиска внутри каталога?
РЕДАКТИРОВАТЬ: Я думаю, что этот вопрос не по теме и должен быть удален, так как парсер не ищет имя строки внутриdir, другими словами, я считаю, что операционная система обрабатывает его сзади.Как вы можете, как следующие строки внутри ET объекта Parser, он напрямую открывает
def parse(self, source, parser=None):
close_source = False
if not hasattr(source, "read"):
source = open(source, "rb")
close_source = True