2009-04-30 67 views
-3

我應該用什麼類型的Python對象來解析具有特定語法的文件?還應該遵循什麼樣的循環來通過文件。一次傳球是否足夠?二三?用Python解析文件

+0

...什麼語法? – 2009-04-30 19:25:10

+5

答:「合適的,for循環就足夠了,也許,可能。」希望我的回答與您的問題一樣詳細,翔實和精確。 – tzot 2009-04-30 19:47:58

回答

3

這取決於語法。您可以使用pyparsing而不是實現您自己的解析器。這是非常容易使用。

1

語法有多複雜?你在發明一個新的還是不是?

對於一種複雜的語言,考慮像lex + pybison這樣的bison綁定。

如果您可以決定使用什麼語法,請嘗試使用YAML。

2

你應該提供有關目標的詳細信息...

  • 什麼樣的文件
  • 什麼結構?製表符分隔? XML - 像?
  • 什麼樣的編碼?
  • 什麼是目標結構?
  • 你是否需要在常規時間內重新分析文件(如解釋器)?
0

如果你的語法分析器有一個,兩個,三個或n遍,它不依賴於你的編程語言(python)。這取決於您正在嘗試解析的語法的語法。

如果語法很複雜,我會推薦LEX/YACC組合,就像Francis說的那樣。