2011-07-03 57 views
-2

我有一個xml文件,從文本編輯器上正確顯示的頁面,但一旦我使用readlines(),我只會得到一行。我認爲這意味着正在使用的行分隔符不被python識別,但它是由gedit。python readlines不分行

我想對它做一個split()來正確獲取數據,但是怎樣才能看到文件中使用了哪些行分隔符?

+0

你能提供一些代碼來顯示你所嘗試過的嗎? – jena

+0

使用readlines讀取XML文件有什麼意義?標記可以在標記之後或甚至在屬性之間的標記內部具有換行符。 –

+0

什麼操作系統? – andrewdski

回答

0

正如在註釋中指出的那樣,如果它是xml,只需將它交給像ElementTree或lxml這樣的XML解析器。換行符在XML中無關緊要。

有關信息,利用open("thefile.xml", "rU")將與通用換行符支持打開它,所以Python會承認\n\r\r\n作爲換行符標記。

+0

我使用lxml但我想從中提取的鏈接非常簡單,我可以使用string.find()代替。 lxml有問題,因爲裏面有日文(或其他不受支持的)字符,所以我決定手動完成。 – gibem

+2

永遠不要使用字符串操作或正則表達式解析XML。這絕對是最糟糕的編程風格。 –

+0

@gibem:如果您知道使用什麼字符編碼來保存它,您可以使用'codecs.open'來打開文件,然後從中讀取unicode並將其傳遞給lxml。 –