1

ドキュメントを読んでも理解できなかったいくつかの質問やその他の質問。

1:「実際に引数を取得する方法」に戸惑ったので、周りを見回すと__dict __、辞書のように関数を使ってアクセスするように言われました。どちらが機能しますが、それが唯一の方法ですか?これはかなり一般的なことのように思えますが、ドキュメントのどこにも明らかではないようです。私がそれを逃した場合、多分誰かがそれを指摘することができますか?それは間違いなくトップではありませんでした。

2:argparse2.7で導入されましたが、私にはわからない理由で、新しいバージョンのpythonの入手を拒否し、2.5、2.6などの古いバージョンに固執し続ける人もいます。それらに対処するための私の解決策は、argparseモジュールを取得して、それを自分のスクリプトディレクトリに配置することです。このソリューションに問題はありますか?少なくとも機能しているようです。

4

2 に答える 2

4

このparse_args()関数を使用して、パラメーターを取得できます。例えば:

parser = argparse.ArgumentParser(description="Test")
parser.add_argument('command')

parameters = parser.parse_args()
cmd = parameters.command

2番目の質問に答えるために、これを行うことはお勧めしません。依存関係の問題が発生する可能性があるため、モジュールを追加するだけでは不十分です(つまり、内部的には、argparseは2.7でのみ利用可能になった他の何かを必要とする場合があります)。古いが非推奨のバージョンはoptparseです。

于 2011-08-18T15:32:48.303 に答える
3

広告 1: 値の取得は非常に簡単です。

parser.add_argument('--some_arg', action='store')
parser.add_argument('--some_flag', action='store_true')

args = parser.parse_args()

ドキュメントargs.some_argにあるように、またはで値にアクセスargs.some_flagできるようになりました。

広告 2: argparse は 2.7 で導入されてoptparse以来、モジュールが利用できない可能性があるため、下位互換性のために古いバージョンに固執する人が多くいます。構文はほぼ同じです。私の解決策は、フォールバックとして解析しargparseて使用することです。optparse

于 2011-08-18T15:36:55.450 に答える