0
import xml.etree.ElementTree as ET

ID="000296166"
tree = ET.parse("\folder" + ID +'.xml')
root = tree.getroot()

私がやろうとしているのは.py、関数を使用して同じフォルダーにないXMLファイルにアクセスすることですxml.etree.elementtree

エラーが発生し続けます:

IOError: [Errno 22] invalid mode ('rb') or filename: '\x0colder000296166.xml'

パスを書くときに何か間違ったことをしたような気がします...しかし、それがどのように機能するかを確認するための例をオンラインで見つけることができません

4

1 に答える 1

4

\fはページ ブレーキとして解釈され、16 進コードに置き換えられます0xC。パスから先頭のバックスラッシュを削除する必要があります。

tree = ET.parse("folder" + ID +'.xml')

文字列内でバックスラッシュを使用すると、次のようにエスケープできます\\

編集

パスを操作する場合は、os.path モジュールを使用することをお勧めします。

 import os 
 ...
 tree = ET.parse(os.path.join('folder', ID + '.xml'))
于 2013-10-13T22:49:06.653 に答える