声明本文借阅了各网站大佬的经验,已将原文附Reference部分,再此表达最诚挚的谢意,如有侵权,本人立即删除!argparse模块argparse是一个Python模块:命令行选项、参数和子命令解析器。argparse模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后argparse将弄清如何从sys.argv解析出那些参数。argparse模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。使用流程1.创建解析器parser=argparse.ArgumentParser(description='Processsomeintegers.')使用ar
argumentparser可以接受文件类型参数并直接打开文件,例如:parser.add_argument('infile',nargs='?',type=argparse.FileType('r'))args=parser.parse_args().__dict__input=args['infile'].readlines()我需要在我的程序中关闭args['infile']吗?argumentparser会为我关闭它吗?我没有在文档中找到任何地方提到这一点。 最佳答案 不,它不会关闭文件类型对象。请参阅this这里的问题是F
我想从控制台将名称列表传递到我用Python编写的程序中。例如,我想使用与此类似的方式(我知道它不应该因为bash而起作用):$pythonmyprog.py-nname1name2所以,我尝试了这段代码:#myprog.pyfromargparseimportArgumentParserparser=ArgumentParser()parser.add_argument('-n','--names-list',default=[])args=parser.parse_args()print(args.names_list)#Ineed['name1','name2']here这导致了
问题:从现有argparse.ArgumentParser对象访问可能参数的预期/官方方式是什么?示例:让我们假设以下上下文:importargparseparser=argparse.ArgumentParser()parser.add_argument('--foo','-f',type=str)在这里,我想获得以下允许参数列表:['-h','--foo','--help','-f']我发现以下解决方法对我有用parser._option_string_actions.keys()但我对此并不满意,因为它涉及访问未正式记录的_成员。此任务的正确替代方案是什么?
我尝试了解argparse.ArgumentParser的工作原理,为此我写了几行代码:globalfirstProductglobalsecondProductmyparser=argparse.ArgumentParser(description='parsertest')myparser.add_argument("product1",help="enterproduct1",dest='product_1')myparser.add_argument("product2",help="enterproduct2",dest='product_2')args=myparser.p
我正在使用argparse接受命令行输入并生成帮助文本。我想使用ArgumentDefaultsHelpFormatter作为formatter_class,但是这会阻止我也使用RawDescriptionHelpFormatter这将允许我添加自定义格式到我的描述或结语。除了自己编写代码来为默认值生成文本之外,是否还有一种明智的方法来实现这一点?根据argparse文档,ArgumentParser的所有内部结构都被视为实现细节,而不是公共(public)API,因此子类化不是一个有吸引力的选择。 最佳答案 我刚刚尝试了一种多重继