草庐IT

ArgParse

全部标签

python - 将 pydoc 的描述显示为 argparse 的一部分 '--help'

我在脚本中使用argparse.ArgumentParser(),我想将脚本的pydoc描述显示为argparse的“--help”选项的一部分。一个可能的解决方案是使用ArgumentParser的formatter_class或description属性来配置显示的帮助。但在这种情况下,我们需要在内部使用“pydoc”命令来获取描述。我们是否有其他一些方法(可能是优雅的)来做到这一点? 最佳答案 您可以从__doc__全局检索脚本的文档字符串。要将其添加到脚本的帮助中,您可以设置解析器的description参数。"""Mypy

python - 将参数传递给 Docker 容器中的 Python argparse

我正在着手第一次尝试使用docker容器。我有一个调用几个API并解析文件的python脚本。该脚本为API的服务器URL、APIkey和要解析的文件的文件路径获取参数。我使用argparse在脚本中处理这些。如何将这些传递到Docker?我不想硬编码任何东西,因为我希望将此脚本交给需要定期运行并根据结果采取行动的工程师。感谢您的帮助。我一直在搜索,但似乎建议将内容硬编码到dockerfile中-我希望用户能够在运行时将它们放入。或者也许我已经找到了答案,只是不明白......如果我的术语不正确,我深表歉意-这是我第一次尝试使用Docker。 最佳答案

Python argparse 字典 arg

我想从命令行接收dict(str->str)参数。argparse.ArgumentParser是否提供它?还是其他图书馆?对于命令行:program.py--dictd--keykey1--valueval1--keykey2--valueval2我期待以下字典:d={"key1":"val1","key2":"val2"} 最佳答案 这是另一个使用自定义操作的解决方案,如果您想以逗号分隔一起指定字典键对--importargparseimportsysparser=argparse.ArgumentParser(descript

python - 没有重复 ALLCAPS 的 argparse 帮助

我想以与默认-h、--help和-v相同的方式显示我的选项的argparse帮助,--version是,选项后没有全大写文本,或者至少没有重复的大写字母。importargparsep=argparse.ArgumentParser("afoobardustup")p.add_argument('-i','--ini',help="usealternateinifile")print'\n',p.parse_args()这是我目前使用pythonfoobar.py-h得到的:usage:afoobardustup[-h][-iINI]optionalarguments:-h,--hel

python使用argparse.ArgumentParser方法

我尝试了解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

python - 是否可以使用 argparse 来捕获任意一组可选参数?

是否可以使用argparse来捕获任意一组可选参数?例如,以下两个都应该被接受为输入:pythonscript.pyrequired_arg1--var1value1--var2value2--var3value3pythonscript.pyrequired_arg1--varAvalueA--var2value2--varBvalueB先验我不知道将指定接收哪些可选参数,但会相应地处理它们。 最佳答案 这是一种hackish方式,但效果很好:检查,没有添加哪些参数并添加它们importargparseparser=argpars

python - 如何使用 argparse 解析带有前导减号(负数)的位置参数

我想解析一个必需的位置参数,其中包含一个以逗号分隔的整数列表。如果第一个整数包含前导减号('-'),则argparse会报错:importargparseparser=argparse.ArgumentParser()parser.add_argument('positional')parser.add_argument('-t','--test',action='store_true')opts=parser.parse_args()printopts$pythonexample.py--test1,2,3,4Namespace(positional='1,2,3,4',test=T

python - 如何在 python 中编写 argparse 组合选项

我一直对要完成的这一小块事件感到困扰。我确实做了一些实验,但无法达到结果。要求:test2.py[-c/-v]-f用法或规则:-c(比较)接受2个参数。-v(验证)采用1个参数。其中一个必须存在,但不能同时存在。-f是强制参数(输出文件名)。输出:我能够得到所需的输出,如下所示kp@kp:~/Study/scripts$./test.py-cP1P2-fpkp@kp:~/Study/scripts$./test.py-vP1-fpkp@kp:~/Study/scripts$./test.py-vP1usage:test.pytest.py:error:argument-f/--file

python - 使用 argparse 解析形式为 "arg= val"的参数

我想使用argparse来解析形式为“arg=val”的命令行例如,用法是:script.pyconf_dir=/tmp/good_conf为了实现它,我正在这样做:desc="details"parser=argparse.ArgumentParser(description=desc,add_help=False)args=parser.add_argument("conf_dir")args=parser.parse_args("conf_dir=FOO".split())args=parser.parse_args()printargs.conf_dir但是,问题在于,在调用脚

传递了附加参数的 Python argparse 自定义操作

importargparseclasscustomAction(argparse.Action):def__call__(self,parser,args,values,option_string=None):setattr(args,self.dest,values)parser=argparse.ArgumentParser()parser.add_argument('-e','--example',action=customAction)我想在触发选项-e时将其他参数传递给customAction,例如另一个类的实例。我怎样才能做到这一点?我尝试过的一切都出错了。