我有一个试图使用 Python 解析的文件目录。如果它们都是相同的扩展名,我不会有问题,但无论出于何种原因,它们都是在原始扩展名之后使用顺序数字扩展名创建的。例如:foo.log foo.log.1 foo.log.2 bar.log bar.log.1 bar.log.2 etc.
最重要的是,foo.log 是 XML 格式,而 bar.log 不是。为了只读取和解析foo.log.*
and foo.log
文件,最好的方法是什么?这些bar.log
文件不需要读取。下面是我的代码:
import os
from lxml import etree
path = 'C:/foo/bar//'
listing = os.listdir(path)
for files in listing:
if files.endswith('.log'):
print files
data = open(os.path.join(path, files), 'rb').read()
tree = etree.fromstring(data)
search = tree.findall('.//QueueEntry')
这不起作用,因为它不读取任何.log.*
文件,并且解析器阻塞了已读取但不是 xml 格式的文件。谢谢!