gpt4 book ai didi

python - 传递参数时如何调用保留引号?

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:55 25 4
gpt4 key购买 nike

<分区>

我有一段代码看起来像这样。真正的代码当然要长得多。我已将其缩短以将其浓缩为想法。

#!/usr/bin/python

from sys import argv

class Base():
def whoami(self):
print(self.__class__.__name__)

def foo(self, a, b):
print(a+b)

class A(Base):
def bar(self, a):
print(a)

class B(Base):
def fizz(self, a, b):
print(a+b)

def main():
eval(argv[1] + '().' + argv[2] + '(' + ', '.join(argv[3:]) + ')')

if __name__ == "__main__":
main()

预期输出:

$ ./myScript.py A whoami
A
$ ./myScript.py B fizz 5 7
12
$ ./myScript.py B fizz '5' '7'
57

但是最后一行的实际输出是:

$ ./myScript.py B fizz '5' '7'
12

引号没有通过。我的目标是能够从命令行轻松调用各种类方法进行调试。我不知道我的做法是否从一开始就错了。

是的,我知道 eval 存在安全风险。我打算在代码投入生产时将其删除。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com