2013-10-13 2 views
0
import xml.etree.ElementTree as ET 

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

난 할 노력하고있어 것은 xml.etree.elementtree파이썬 xml.etree.ElementTree 디렉토리 ACESS

그것은 오류를주고 계속에서 기능을 사용하여 .py과 같은 폴더에없는 액세스 XML 파일입니다 :

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

내가 경로를 작성할 때 뭔가 잘못을 한 느낌이 점점 계속 ...하지만 난이 일을 해야하는 방법을 보려면 온라인 예제를 찾을 수 없습니다

답변

2

\f은 페이지 브레이크로 해석되며 16 진 코드 0xC으로 바뀝니다. 경로에서 선행 백 슬래시를 제거해야합니다.

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

그리고 당신은 문자열 내에서 백 슬래시를 사용하는 경우이 \\

EDIT처럼 탈출 할 수

당신이 경로를 작업 할 때을 os.path 모듈을 사용하는 것이 좋습니다 :

import os 
... 
tree = ET.parse(os.path.join('folder', ID + '.xml')) 
+0

남자! "\\"은 누락 된 것이지만 ... 나 자신을 바로 잡기 위해서 : "폴더 \\"가 아니라 "\ 폴더"... 백 슬래시가 폴더를 액세스하는 문자열 사이에 있어야합니다. –

+0

os.path 모듈을 사용하는 것이 더 좋습니다. 자세한 내용은 편집을 확인할 수 있습니다. – zero323