2016-12-21 13 views
0

エントリの値にコメントマークが付いている設定ファイルを解析しようとしています。したがって、ルールは最後のコメントマークだけで、値とコメントの間のディバイダです。例えばpython parsimonious:複数のコメントマークで設定ファイルを解析する

key1 = value 
key2 = value;This is a comment 
key3 = value;This is still value;This is a comment 

私は行うことができます倹約と? ;符号の後ろの最後の部分を区別する文法を作成するにはどうすればよいですか?

ありがとうございます。

答えて

0

あなたはこのような何かを行うことができます:私は行うことができます。もちろん、

configGrammar = Grammar(r""" 
file = "\n"* line* "\n"* 
line = key ws? "=" ws? valueComment (";" valueComment)* "\n" 
key = ~"[0-9A-z_]+" 
valueComment = ~"[^;\n]*" 
ws = " "* 
""")` 
+0

:私はけちから得ることができる最適なソリューションは、値を治療し、ツリーを訪れたときに、それらを区別することだった

with open('config_file') as f: content = f.readlines() for c in content: tmp = c.split(';') # Split line by ';'. comment = tmp[len(tmp) - 1] # This is the comment part. ... 
Omer

+0

@Omer、申し訳ありません。私はあなたを誤解しました。あなたが設定ファイルの行を解析するのに苦労していると思いました。駄目なことは、あなたが使うことができると思います。 – Nurjan

+0

私は実際に非バイナリの答えを期待していました:) – Omer

0

それ。私はそのようなファイルを解析するのに間違いを使うことができるかどうか尋ねました。
関連する問題