我有一个正在尝试使用 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 格式的文件。谢谢!
也许是glob http://docs.python.org/2/library/glob.html模块可以帮助您:
import glob
listing = glob.glob('C:/foo/bar/foo.log*')
for filename in listing:
# do stuff
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)