【python – argparse参数依赖项】教程文章相关的互联网学习教程文章

python – 检测是否使用optparse或argparse多次指定了任何命令行选项【代码】

Python optparse通常允许用户多次指定一个选项,并默默地忽略所有选项但最后一个选项.例如,如果选项–foo的操作是store,而选项–flag的操作是store_const,store_true或store_false,则以下命令将是等效的:my-command --foo=bar --foo=another --flag --foo=last --flag my-command --flag --foo=last(更新:默认情况下,argparse会做同样的事情.) 现在,我有很多选择,并且不止一次指定其中任何一个都没有意义.如果用户多次指定相同的选...

python – Argparse – 在帮助字符串中添加可选参数【代码】

我在python和argparse上有一些脚本,其中一个可选参数添加了音译:parser = argparse.ArgumentParser() parser.add_argument('-t', '--text', action='store_true',help='display a text') parser.add_argument('-s', '--search', dest='string', action='store', type=str,help='search in a text') parser.add_argument('--translit', action='store_true',help='transliterate output; usage: prog [-t | -d STRING] --translit...

python – Argparse通过子分组进行独占【代码】

目前我的代码的argparse给出了以下内容:usage: ir.py [-h] [-q | --json | -d ]Some textoptional arguments:-h, --help show this help message and exit-q gene query terms (e.g. mcpip1)--json output in JSON format, use only with -q-d , --file_to_index file to index 我想要它做的是以下内容: > -q应该与-d互斥>和–json应该只使用-q 怎么回事呢?这是我的argparse代码...

使用自定义formatter_class在Python 2.7.5 argparse.add_argument()中出现神秘故障【代码】

我正在尝试编写一个HelpFormatter子类来与argparse一起使用.格式化程序很简单;将它作为子类集成不是.在Anthon的回答中,我在stackoverflow.com/questions/3853722/找到了一个非常有用的例子. 在Mac OS X 10.9.4上使用Python 2.7.5.当我尝试子类化HelpFormatter时,我不断得到:./testBlankLineHelpFormatter.py -q ******* LOADING MY CLASS Instantiating argparse.ArgumentParser Traceback (most recent call last):File "./testB...

Python argparse:-o和–option之间的差异【代码】

我试图理解argparse包,我真的找不到这个非常简单的问题的答案: >添加参数时,-a和-argument之间有什么区别? 有时,我在这里找到一个add_argument():parser.add_argument("-f", "--file",help="file path")解决方法:如果两者都被指定,那么argparse将以长格式(‘argument’)而不是short形式(‘a’)存储值.它将推断目的地,因此“–foo-bar”将存储在foo_bar中. 您可以将短格式混合在一起并使用单个连字符(-af),但与某些* NIX命令不同...

python – argparse中的交叉参数验证【代码】

我正在寻找一种Pythonic方法来验证参数,因为它们的验证在逻辑上取决于从其他参数解析的值. 这是一个简单的例子:parser.add_argument('--animal', choices=['raccoon', 'giraffe', 'snake'], default='raccoon', ) parser.add_argument('--with-shoes', action='store_true', )在这种情况下,解析此命令应该会导致错误:my_script.py --animal snake --with-shoes添加mutually exclusive group似乎没有帮助,因为其他组合没问题:my_...

python – argparse:用于个别位置参数选择的使用情况报告?【代码】

我正在尝试重构程序以使用新的标准argparse模块.鉴于下面的结构,我应该使用choices作为主要位置参数,subcommands还是其他方法?foo [OPTION]... COMMAND [PACKAGE(S)]...Commands:available - show packages available to be installedinstall - download and install packages, including dependenciesremove - uninstall packages...snipversion - display installed version of packageOptions:-d,--download ...

python – 如何在组中显示argparse子命令?

对于具有许多子命令的程序,我想将它们逻辑分组显示在–help输出中. Python argparse有一个add_argument_group方法,但它似乎与subparsers不兼容. subparsers只能添加到顶级ArgumentParser,而_SubParsersAction不允许参数组.这有什么办法吗?解决方法:除了实现自定义HelpFormatter之外,您无法以任何直接的方式实现它. 您可以在this part of the documentation.中找到有关HelpFormatter风格的更多信息

Python argparse REMAINDER尚不清楚【代码】

正如文件所示:argparse.REMAINDER. All the remaining command-line arguments are gathered into a list. This is commonly useful for command line utilities that dispatch to other command line utilities:>>> parser = argparse.ArgumentParser(prog='PROG') >>> parser.add_argument('--foo') >>> parser.add_argument('command') >>> parser.add_argument('args', nargs=argparse.REMAINDER) >>> print parser.parse_arg...

Python; argparse;如何指定位置参数的位置【代码】

如何指定位置参数的位置? 在我下面的例子中,SCR& SCV参数出现在可选参数的末尾,我希望它们出现在开头.#!/usr/bin/python import argparse### Parse arguments ### parser = argparse.ArgumentParser() parser.add_argument("SCR",type=int) parser.add_argument("SCV",type=int) parser.add_argument("--itemid",nargs='?') parser.add_argument("--tkt",nargs='?') parser.add_argument("--rfc",nargs='?') parser.add_argument(...

python – 对于argparse选择,是否有一种干净的方式为每个选择写一个单行帮助?【代码】

使用python argaparse“选择”,默认帮助如下所示:>>> parser.add_argument('move', choices=['rock', 'paper', 'scissors'])positional arguments:{rock,paper,scissors}如果明显如何选择一个,那么哪个有效,但如果每个选择都需要自己的迷你帮助,那么效果不是很好. 有没有办法以干净的方式为每个选择写一行帮助,这些都是这样的:parser.add_argument("action",choices=[["status", help="Shows current status of sys"],["load", h...

python – Argparse:subparsers没有显示默认值【代码】

我有一个问题,我没有看到任何参数的默认值,当使用argparse Python包通过add_argument为subparsers指定它们时. 一些研究表明,您需要为每个add_argument步骤设置非空的帮助参数,并且需要ArgumentDefaultsHelpFormatter作为formatter_class,如下所述: Argparse: Way to include default values in ‘–help’? 但是,这对我不起作用.我怀疑subparser默认值被抑制了. 这是一个例子:from argparse import ArgumentParser, ArgumentDefa...

Python argparse互斥args【代码】

我如何让argparse做类似的事情:[ 'all' | [ pos1 [ pos2 [ pos3 ...]]]] --some --other --flags所有都是保留字(如果它不需要 – 前缀,那么它就是一个标志就不行了) 第二:是否有可能为命名参数设置一些别名,如-h和–help意味着相同的选项?也许我应该尝试使用add_mutually_exclusive_group()?解决方法:add_mutually_exclusive_group()就是为此而设计的 – 您正在尝试添加互斥组. 关于你问题的第二部分,这应该做你想要的:parser...

使用带有cmd的argparse的Python【代码】

有没有办法使用argparse模块作为解释器连接到继承自cmd的接口中的每个提示符? 我想让我的cmd接口解释典型的line参数,就像在bash shell上运行时传递的选项和参数一样,使用带有 – 和位置参数的可选参数.解决方法:好吧,一种方法是覆盖cmd的默认方法并使用它来解析使用argparse的行,因为cmd.Cmd子类中没有do_方法的所有命令都将使用默认方法.请注意do_test之前的附加_以避免将其用作cmd命令.import argparse import cmd import shlex...

如何本地化Python的argparse模块,而无需修补它?【代码】

当部分消息使用用户语言时,本地化命令行应用程序看起来很奇怪,而其他部分则使用英语. 我不知道当我从源码安装Python 3时是否搞砸了什么,似乎没有* .mo文件,所以argparse(在整体中)不能识别本地化. API似乎也没有提供本地化的方法.还是我错过了? 我可以修补argparse.py,但我不会,因为我希望它是可移植的,我不建议用户修补他们的Python安装. 用较少的单词提问:如何在不修补Python标准库的情况下本地化argpase? 相关问题:这可能吗...