質問

特定の構文のファイルを解析するには、どのタイプのPythonオブジェクトを使用する必要がありますか?また、ファイルを処理するには、どのようなループに従う必要があります。 1つのパスで十分ですか?二、三?

役に立ちましたか?

解決

文法に依存します。独自のパーサーを実装する代わりに、 pyparsing を使用できます。使い方はとても簡単です。

他のヒント

目的に関する詳細情報を提供する必要があります...

  • どのようなファイル
  • どのような構造ですか?タブ区切り? XML-のような?
  • どのようなエンコード?
  • ターゲット構造とは
  • 定期的にファイルを再解析する必要がありますか(インタープリターなど)

構文はどのくらい複雑ですか?新しいものを発明しますか?

複雑な言語の場合、lex + pybisonなどのバイソンバインディングを検討してください。

使用する構文を決定できる場合は、YAMLを試してください。

パーサーに1、2、3、またはnパスがある場合、プログラミング言語(python)に依存しません。解析しようとしている構文の文法に依存します。

構文が十分に複雑な場合、フランシスが言ったように、LEX / YACCコンボをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top