4

A = python argparse ライブラリによって内部的に解析されるオプションを使用して、コマンドラインによって呼び出されるように構成されたスクリプト。B = A で使用される関数を内部で呼び出す必要がある別のスクリプト。

B で A のインポートを行うことが必要であると信じていましたが、使用オプションが返され、Python インタープリターが終了します。

A を保持し、引数を渡して B にインポートする方法はありますか? または、パーサーの使用を避けて書き直す必要がありますか?

4

1 に答える 1

9

スクリプト A で、引数を解析して A ジョブを実行する前に、自分が「メイン スクリプト」であるかどうかを確認します。そうでない場合は、A をライブラリとしてのみ使用する必要があるときにも実行されます。

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("-k", dest = "foo",  action='store_true')
    args = parser.parse_args()
    # do things...
于 2013-11-14T13:22:27.103 に答える