私はPythonプログラムにargparseを使用していますが、私はこのように私のソフトウェアを実行するとき方法を呼び出したい:argparse:関数の代わりにメソッドを呼び出す方法は?
$ python __init__.py foo
私が代わりにメソッドの関数を呼び出すしたい場合には簡単です:
def foo(args):
pass
def main():
foo_parser.set_defaults(func=foo)
if __name__ == "__main__":
main()
"func = foo"を "func = MyClass.my_method"に置き換えるにはどうすればよいですか?
をええ、それは正しいです!私の質問は馬鹿だったので、すみません。問題はそこになかった。インスタンスを宣言する代わりに@staticmethodを使用します。ありがとう:-) –
'theobject'を構築するためにメインのパーサオプションが必要な場合はどうなりますか? – zhigang
回避策を入手する:args.func .__ call __(theobject、args)。より良い解決策はありますか? – zhigang