2011-07-03 7 views
-2

텍스트 편집기에서 올바르게 표시되는 페이지의 XML 파일을 가지고 있지만 일단 readlines()를 사용하면 한 줄만 얻습니다. 내가 사용하는 라인 구분 기호가 파이썬에 의해 인식되지 않는다고 가정하지만, 그것은 gedit에 의한 것이라고 가정합니다.Python은 줄을 구분하지 않습니다.

데이터를 올바르게 얻으려면 split()을 수행하고 싶지만 파일에서 사용 된 행 구분 기호는 어떻게 볼 수 있습니까?

+0

시도한 내용을 보여줄 수 있습니까? – jena

+0

readline을 사용하여 XML 파일을 읽는 요지는 무엇입니까? 마크 업은 태그 다음에 줄 바꿈을 포함 할 수도 있고 속성 사이의 태그 안에 포함 할 수도 있습니다. –

+0

어떤 운영 체제입니까? – andrewdski

답변

0

주석에서 지적한대로 XML 인 경우 ElementTree 또는 lxml과 같은 XML 구문 분석기로 전달하면됩니다. 개행은 XML에서 중요하지 않습니다. 파이썬은 \n, \r 또는 \r\n로 줄 바꿈 마커를 인식 할 수 있도록 보편적 인 개행 지원을 엽니 다 open("thefile.xml", "rU")를 사용하여 내용

.

+0

내가 lxml를 사용하고 있었는지에 대한 설명을 남겨주세요. 그러나 내가 추출하고 싶은 링크는 정말 간단하고, 대신에 string.find()를 사용할 수 있습니다. lxml에는 japanese (또는 다른 지원되지 않는) 문자가 있기 때문에 문제가 발생하여 수동으로 처리하기로 결정했습니다. – gibem

+2

문자열 연산이나 정규식을 사용하여 XML을 구문 분석하지 마십시오. 그것은 절대적으로 최악의 프로그래밍 스타일입니다. –

+0

@gibem : 어떤 문자 인코딩이 사용되었는지 알고 있다면,'codecs.open'을 사용하여 파일을 열고 유니 코드를 읽어 와서 lxml로 넘길 수 있습니다. –

관련 문제