Python的argparse中整数参数报错“无效的整数值”,期望路径
我正在尝试在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
。
1 个回答
1
这段代码是对的。我在 Python 2.7 上运行了你的程序,得到了预期的结果:
> script.py 3
9
你确定在运行正确的代码吗?在 Linux 上用 cat 命令,或者在 Windows 上用 type 命令查看 script.py,确保你的是最新的。然后明确用 Python 来运行,确保你没有运行到其他地方的 script.py(用命令 python script.py 3)。