Python 的 argparse 中的整数参数在需要路径"invalid int value"抛出错误



我正在尝试在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

代码是正确的。我在python 2.7上运行了你的程序,得到了预期的答案:

> script.py 3
9

你运行的代码正确吗?cat(linux)或键入(windows)script.py以确保您拥有最新的,然后在python下显式运行以确保您不会在路径上拾取不同的script.py(python script.py 3)

相关内容

  • 没有找到相关文章

最新更新