我注意到Python2.7文档还包含另一个命令行解析模块。除了getopt和optparse我们现在还有argparse。为什么还要创建另一个命令行解析模块?为什么我应该使用它而不是optparse?是否有我应该了解的新功能? 最佳答案 从python2.7开始,optparse已弃用,并有望在未来消失。argparse由于其原始页面上列出的所有原因(https://code.google.com/archive/p/argparse/)更好:处理位置参数支持子命令允许使用替代选项前缀,例如+和/处理零个或多个和一个或多个样式参数产
我正在使用argparseinPython2.7用于解析输入选项。我的选择之一是多项选择。我想在其帮助文本中列出一个列表,例如fromargparseimportArgumentParserparser=ArgumentParser(description='test')parser.add_argument('-g',choices=['a','b','g','d','e'],default='a',help="Someoption,where\n""a=alpha\n""b=beta\n""g=gamma\n""d=delta\n""e=epsilon")parser.parse_
标题几乎概括了我希望发生的事情。这就是我所拥有的,虽然程序不会在非正整数上崩溃,但我希望用户被告知非正整数基本上是无稽之谈。importargparseparser=argparse.ArgumentParser()parser.add_argument("-g","--games",type=int,default=162,help="Thenumberofgamestosimulate")args=parser.parse_args()还有输出:pythonsimulate_many.py-g20Settingup...Playinggames...................
标题几乎概括了我希望发生的事情。这就是我所拥有的,虽然程序不会在非正整数上崩溃,但我希望用户被告知非正整数基本上是无稽之谈。importargparseparser=argparse.ArgumentParser()parser.add_argument("-g","--games",type=int,default=162,help="Thenumberofgamestosimulate")args=parser.parse_args()还有输出:pythonsimulate_many.py-g20Settingup...Playinggames...................
我使用argparse创建了一个脚本。脚本需要一个配置文件名作为选项,用户可以指定是完全执行脚本还是只模拟它。要传递的参数:./script-fconfig_file-s或./script-fconfig_file.-fconfig_file部分没问题,但它一直要求我提供-s的参数,该参数是可选的,不应跟随任何参数。我试过这个:parser=argparse.ArgumentParser()parser.add_argument('-f','--file')#parser.add_argument('-s','--simulate',nargs='0')args=parser.pars
我使用argparse创建了一个脚本。脚本需要一个配置文件名作为选项,用户可以指定是完全执行脚本还是只模拟它。要传递的参数:./script-fconfig_file-s或./script-fconfig_file.-fconfig_file部分没问题,但它一直要求我提供-s的参数,该参数是可选的,不应跟随任何参数。我试过这个:parser=argparse.ArgumentParser()parser.add_argument('-f','--file')#parser.add_argument('-s','--simulate',nargs='0')args=parser.pars
我希望有一个可选参数,如果仅存在未指定值的标志,它将默认为一个值,但如果用户指定一个值,则存储用户指定的值而不是默认值。是否已有可用的操作?一个例子:pythonscript.py--example#args.examplewouldequaladefaultvalueof1pythonscript.py--example2#args.examplewouldequaladefaultvalueof2我可以创建一个Action,但想看看是否有现有的方法可以做到这一点。 最佳答案 importargparseparser=argpar
我希望有一个可选参数,如果仅存在未指定值的标志,它将默认为一个值,但如果用户指定一个值,则存储用户指定的值而不是默认值。是否已有可用的操作?一个例子:pythonscript.py--example#args.examplewouldequaladefaultvalueof1pythonscript.py--example2#args.examplewouldequaladefaultvalueof2我可以创建一个Action,但想看看是否有现有的方法可以做到这一点。 最佳答案 importargparseparser=argpar
我使用下面的简单代码来解析一些参数;请注意,其中之一是必需的。不幸的是,当用户在不提供参数的情况下运行脚本时,显示的用法/帮助文本并不表示存在非可选参数,我觉得这很困惑。如何让python指示参数不是可选的?代码如下:importargparseif__name__=='__main__':parser=argparse.ArgumentParser(description='Foo')parser.add_argument('-i','--input',help='Inputfilename',required=True)parser.add_argument('-o','--out
我使用下面的简单代码来解析一些参数;请注意,其中之一是必需的。不幸的是,当用户在不提供参数的情况下运行脚本时,显示的用法/帮助文本并不表示存在非可选参数,我觉得这很困惑。如何让python指示参数不是可选的?代码如下:importargparseif__name__=='__main__':parser=argparse.ArgumentParser(description='Foo')parser.add_argument('-i','--input',help='Inputfilename',required=True)parser.add_argument('-o','--out