2

Python で argparse を使用しようとしていますが、コマンド ラインでプログラムを呼び出して動作するかどうかを確認する方法がわかりません。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("DocID", type= int, help= "Insert DocID Here")
parser.add_argument("echo", help = "Enter in the FileName to be read")
args = parser.parse_args()
print args

これは、argparse がどのように機能するかを学ぶためだけに使用しようとしている、信じられないほど基本的なプログラムです。プログラムに与えた引数を使用できるようにするには、プログラムを呼び出す方法と場所を学ぶ必要があるだけです。

編集:私の質問をより明確にするために申し訳ありません。私はこのコードを持っていますが、プログラムを実行できるようにプログラム全体を呼び出す方法がわかりません。コマンドラインでこれをどのように実行しますか?IDLE で実行すると、コマンドがないためにエラーが発生するためです。

4

2 に答える 2

4

ArgumentParser のparse_argsメソッドは、リストを入力として受け取ることができます。そのリストは、コマンドライン引数の解析に使用されます。したがって、一般的なイディオムは次のとおりです。

args = parser.parse_args('-a -b -c --value=True'.split())

str.splitリストを返すので。( 'a b c'.split() == ['a', 'b', 'c'])


通常、引数を追加するときは、次のようにします。

parser.add_argument('-a', '--a-long-name', type=int, ...)

-またはの前にない引数--は位置引数であるため、両方の引数が位置引数です。次のようにすると、何が起こっているかを少し見ることができます。

args = parser.parse_args(['1','foo'])
print args.DocID # 1
print args.echo  # foo

python youscript.py 1 fooこれは、スクリプトを(内にリストなしで)呼び出すのと同じparse_argsです。

于 2012-08-28T14:17:23.683 に答える
0

スクリプトのコマンドライン構文を知りたい場合は、-helpを指定して呼び出すだけで、argparseが自動的にスクリプトを提供します。

⚫  gbin@sal tmp % python test.py --help
usage: test.py [-h] DocID echo

positional arguments:
  DocID       Insert DocID Here
  echo        Enter in the FileName to be read

optional arguments:
  -h, --help  show this help message and exit
于 2012-08-28T14:37:34.437 に答える