2013-05-29 132 views
1

我有一個簡單的pyparsing構造提取部分日誌消息。它看起來像這樣pyparsing不工作在Windows文本文件,但在Linux文本文件上工作

log_line = timestamp + task_info + Suppress(LineEnd())

此構造解析Linux中產生很好的日誌文件,但並不解析在窗口中產生了類似的文件。我很確定這是因爲新的線段表示差異。我想知道LineEnd()是否照顧到了這一點?如果它不怎麼照顧它呢?

回答

1

嘗試的Suppress("\r\n")代替Suppress(LineEnd())

+0

還是因爲'\ r'和'\ N'是空白的,你可能需要寫爲'禁止(白( 「\ r \ n」))'。我認爲LineEnd確實解析了在你運行的同一個平臺上創建的文件中的行結尾,但並不擅長猜測來自其他平臺的文件的行尾。 – PaulMcG

相關問題