我想做以下事情:
我有一个类应该提供几个功能,这些功能需要不同的输入。我想在其他脚本中使用这些函数,或者只从命令行中使用。
例如,我有“测试”类。它有一个“快速测试”功能(基本上只是打印一些东西)。(从命令行)我希望能够
$ 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"