我正在尝试在python中制作一个解析器,它可以实现两种类型的功能
s1 = foo()
s2 = {'k1':v1,'k2':v2}
s3 = [v1,v2,v3...]
我说两种类型……第一种类型通常是对象,第二种类型有点像变量。现在第一个很容易..
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 函数中处理这些变量分配
有没有意义。