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.*
および 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形式ではないファイルに対してパーサーがチョークするため、機能しません。ありがとう!