gpt4 book ai didi

Python;参数解析;如何指定位置参数的位置

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:21 25 4
gpt4 key购买 nike

如何指定位置参数的位置?

在我下面的示例中,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("--state",nargs='?')
parser.add_argument("--vendor",nargs='?')
parser.add_argument("--application",nargs='?')
parser.add_argument("--submitter",nargs='?')
parser.add_argument("--assigneddev",nargs='?')
parser.add_argument("--manager",nargs='?')
parser.add_argument("--maasteps",nargs='?')
parser.add_argument("--reasonforfailure",nargs='?')
parser.add_argument("--assignedpm",nargs='?')
parser.add_argument("--release",nargs='?')
parser.add_argument("--erelease",nargs='?')
parser.add_argument("--testenvloaded",nargs='?')
parser.add_argument("--datetestloaded",nargs='?')
parser.add_argument("--dateint2loaded",nargs='?')
parser.add_argument("--tqadeploytime",nargs='?')
parser.add_argument("--prodenvloaded",nargs='?')
parser.add_argument("--dateprodloaded",nargs='?')
parser.add_argument("--proddeploytime",nargs='?')
parser.add_argument("--proddeployer",nargs='?')
args = parser.parse_args()



> scratch.py -h
usage: scratch.py [-h] [--itemid [ITEMID]] [--tkt [TKT]] [--rfc [RFC]]
[--state [STATE]] [--vendor [VENDOR]]
[--application [APPLICATION]] [--submitter [SUBMITTER]]
[--assigneddev [ASSIGNEDDEV]] [--manager [MANAGER]]
[--maasteps [MAASTEPS]]
[--reasonforfailure [REASONFORFAILURE]]
[--assignedpm [ASSIGNEDPM]] [--release [RELEASE]]
[--erelease [ERELEASE]] [--testenvloaded [TESTENVLOADED]]
[--datetestloaded [DATETESTLOADED]]
[--dateint2loaded [DATEINT2LOADED]]
[--tqadeploytime [TQADEPLOYTIME]]
[--prodenvloaded [PRODENVLOADED]]
[--dateprodloaded [DATEPRODLOADED]]
[--proddeploytime [PRODDEPLOYTIME]]
[--proddeployer [PRODDEPLOYER]]
SCR SCV

最佳答案

默认的 usage 格式化程序将位置参数与可选参数分开,并在末尾显示它们。在像这样的多行显示的情况下,位置被放在单独的一行上。这就是您所看到的。

什么时候解析位置可以放在第一位。

解决这个问题的一个明显方法是提供您自己的用法字符串,但是有了这么多参数,我可以理解不想这样做。

https://stackoverflow.com/a/26986546/901925(去年 11 月)有一个 HelpFormatter 补丁可以禁用这种重新排序。但正如所写,它仅适用于单行用法。稍后在同一方法中处理多行用法。

关于Python;参数解析;如何指定位置参数的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29611419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com