我正在尝试使用一个整数作为argparse中的位置参数。给出以下完整的python脚本(取自this教程):
#!/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
。
答案 0 :(得分:1)
代码是正确的。我在python 2.7上运行你的程序,得到了预期的答案:
> script.py 3
9
您是否正在运行正确的代码? cat(linux)或type(windows)script.py以确保你拥有最新版本,然后在python下明确运行以确保你没有在你的路径上选择不同的script.py(python script.py 3)