我希望能够实现以下功能:
我有一个类,需要提供几个不同输入的函数。我想从其他脚本或仅从命令行中使用这些函数。
例如,我有一个名为“test”的类。它有一个名为“quicktest”的函数(基本上只是打印一些内容)。我想要能够(从命令行):
$ python test.py quicktest "foo" "bar"
quicktest是该函数的名称,"foo" 和 "bar" 是变量。
此外(从另一个脚本中)我想要
from test import test
# this
t = test()
t.quicktest(["foo1", "bar1"])
# or this
test().quicktest(["foo2", "bar2"])
我只是不能将它应用到工作中。我已经为第一个请求编写了一个类,也为第二个请求编写了一个类,但两者不能兼得。问题是有时我必须通过(self)调用函数,有时不需要,并且我随时都必须提供给定的参数,这也有点复杂。
那么,有人有什么想法吗?
这就是我已经拥有的:
仅从命令行工作:
class test:
def quicktest(params):
pprint(params)
if (__name__ == '__main__'):
if (sys.argv[1] == "quicktest"):
quicktest(sys.argv)
else:
print "Wrong call."
仅在其他脚本内工作:
class test:
_params = sys.argv
def quicktest(self, params):
pprint(params)
pprint(self._params)
if (__name__ == '__main__'):
if (sys.argv[1] == "quicktest"):
quicktest()
else:
print "Wrong call"
if __name__
部分移到类外面解决了问题。没想到能在几秒钟内得到答案,更不用说对于这个奇怪的问题了 ;) - Droids