0

argparse の位置引数として 1 つの整数を使用しようとしています。次の完全な python スクリプトが与えられます (このチュートリアルから取得)。

   #!/usr/bin/env python
   import argparse
   parser = argparse.ArgumentParser()
   parser.add_argument("square", help="display a square of a given number",
                    type=int)
   args = parser.parse_args()
   print args.square**2

このスクリプトを

   > script.py 3

私は結果として得ます

   error: argument square: invalid int value: 'C:\\home\\dev\\freqana\\3'

argparse明らかにここにファイルシステムのパスが必要ですが、なぜですか? はtype確実に に設定されていintます。

4

1 に答える 1

1

コードは正しいです。あなたのプログラムを python 2.7 で実行したところ、期待どおりの答えが得られました。

> script.py 3
9

正しいコードを実行していますか? cat (linux) または type (windows) script.py を実行して、最新のものであることを確認してから、python で明示的に実行して、パス上で別の script.py を取得していないことを確認します (python script.py 3)

于 2013-02-12T00:41:06.940 に答える