0
特定のフォルダ/サブフォルダ内のすべてのXMLファイルを解析し、そのXML内のテキストを検索して置き換えようとしています。すべてのサブフォルダ "アーカイブ"を除外しながら。 "AttributeError: 'NoneType'オブジェクトに 'replace'属性がありません。何が紛失しているのかわかりませんが、XMLを開き、解析するためにElementTreeに到達するとループが消滅するようです。すべてのxmlファイルを再帰的に解析してフォルダを除外します
for roots, dirs, files in os.walk("C:\test", topdown=True):
if 'Archive' in dirs:
dirs.remove('Archive')
#dirs[:] = [d for d in dirs if 'Archive' not in d]
for f in files:
if f.endswith('.xml'):
try:
with open(os.path.join(roots, f), 'r') as xml:
tree = ET.parse(xml)
root = tree.getroot()
for elem in root.getiterator():
try:
print (elem.text)
elem.text = elem.text.replace('_THUMBNAIL.jpg', '.mxd.jpg')
except ET.ParseError:
pass
tree.write(xml, encoding='utf-8')
except FileNotFoundError:
pass
hmmのダイス。これですべてをスキップするようだ。 – Infinity8
xmlの小さな部分を表示できますか?奇妙に思える。 – VdF