Python argparse 库的问题变量顺序、默认参数等

问题描述

我想以任何顺序为我的脚本命名控制台参数,但我的代码无法正常工作。

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 (将#修改为@)