私は次のことをしたい:
私は、異なる入力を必要とするいくつかの機能を提供する必要があるクラスを持っています。そして、これらの関数を他のスクリプト内から、またはコマンドラインからのみ使用したいと考えています。
たとえば、クラス「テスト」があります。「クイックテスト」機能があります(基本的には何かを印刷するだけです)。(コマンドラインから)できるようにしたい
$ 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"])
私はそれを機能させることができません。最初のリクエスト用のクラスと 2 番目のリクエスト用のクラスを作成できましたが、両方のクラスを作成することはできませんでした。問題は、(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"