gpt4 book ai didi

python-2.7 - 手动将命令传递到 argparse? | python 2.7

转载 作者:行者123 更新时间:2023-12-01 13:12:36 25 4
gpt4 key购买 nike

我正在使用 Python 的精彩 Cmd 库制作终端游戏。但我很好奇我是否能以某种方式将 argparse 代码放入其中。就像使用 argparse 来处理我的 cmd.Cmd() 类中的“args”一样。
为此,我真的希望 argparse 有办法手动将 args 传递给它。我浏览了文档,但没有注意到类似的东西。

最佳答案

parse_args() 接受一个可选参数 args带有要解析的列表(或元组)。 parse_args() (不带参数)等价于 parse_args(sys.argv[1:]) :

In a script, parse_args() will typically be called with no arguments, and the ArgumentParser will automatically determine the command-line arguments from sys.argv.



如果您没有元组,而只有一个字符串,则可以使用 shlex.split() 完成类似 shell 的参数拆分。
>>> shlex.split('"A" B C\\ D')
['A', 'B', 'C D']

请注意 argparse将打印用法和帮助消息以及 exit()关于 fatal error 。您可以覆盖 .error()自己处理错误:
class ArgumentParserNoExit(argparse.ArgumentParser):
def error(self, message):
raise ValueError(message) # or whatever you like

关于python-2.7 - 手动将命令传递到 argparse? | python 2.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42351385/

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