0

我正在尝试使用一个整数作为 argparse 中的位置参数。给出了以下完整的 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) 或键入 (windows) script.py 以确保您拥有最新版本,然后在 python 下显式运行以确保您没有在路径上选择不同的 script.py (python script.py 3)

于 2013-02-12T00:41:06.940 回答