2種類の機能を実現できるPythonでパーサーを作成しようとしています
s1 = foo()
s2 = {'k1':v1,'k2':v2}
s3 = [v1,v2,v3...]
私は2つのタイプを言います...最初のタイプは通常オブジェクトであり、2番目のタイプは変数のように親切です。さて、最初のものは簡単です。
def parse_string_to_command(string):
if "foo" in string:
#handle this.
elif # handle s2
elif #condition to handle s3
編集1:私は私が達成しようとしていることを明確に述べていなかったと思います。
私がやろうとしているのは次のとおりです。
その関数から渡されるものはすべて文字列です。一部はメソッドですが、その他は変数です。私はそれに応じてそれらを処理しようとしています。
基本的にこれはユーザーが行うことです
> params = {"input":"foobar"}
> foo = Foo(params)
さて、Fooメソッドを処理するために..私はこれを行います:
if "Foo" in string:
tokens = string.split("=")
# I have tokens [foo,Foo(params)]
But params is a string now..whereas it is needed to be a dictionary.
これで、ここで処理できることがわかりました。Fooメソッド内で処理できますが、一般的には、parse_string_to_command関数内でこれらの変数の割り当てを処理したいと思います。
それは意味がありますか?