问题描述
我想以任何顺序为我的脚本命名控制台参数,但我的代码无法正常工作。
import argparse,sys
parser = argparse.ArgumentParser()
parser.add_argument('n',help="some integer which is needed",type=int,default=100)
parser.add_argument('b',help="a yes or no question (default yes)",type=str,default=True)
args=parser.parse_args()
print(args)
我希望能够做以下所有事情,这些事情都以自己独特的烦人方式失败:
- python myscript.py n=85
- python myscript.py b=否
- python myscript.py b=否 n=47
所有结果都导致无效的 int 错误,这让我很沮丧。为什么我不能按照我喜欢的顺序告诉脚本 n 和 b 是什么?为什么我不能用参数的名称给出参数的值?为什么我的默认值被完全忽略? 还 python myscript.py 7458 b=yes
打印也好不了多少 命名空间(n=7458,b='b=yes')
那么为什么我不能说像 n=7458 这样的东西,为什么 b= 不被理解为不是 b 值的一部分?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)