Kie*_*eee 4 cmd python-2.7 argparse
我正在使用 Python 精彩的 Cmd 库制作一个终端游戏。但我很好奇是否可以以某种方式将 argparse 代码放入其中。就像使用 argparse 处理我的 cmd.Cmd() 类中的“args”一样。为此,我真的希望 argparse 有一种方法可以手动将 args 传递给它。我浏览了文档,但没有注意到类似的内容。
parse_args()接受一个可选参数,args其中包含要解析的列表(或元组)。parse_args()(不带参数)相当于parse_args(sys.argv[1:]):
在脚本中,
parse_args()通常会在不带参数的情况下调用,并且ArgumentParser会自动确定来自 的命令行参数sys.argv。
如果您没有元组,而是单个字符串,则可以使用类似 shell 的参数分割来完成shlex.split()
>>> shlex.split('"A" B C\\ D')
['A', 'B', 'C D']
Run Code Online (Sandbox Code Playgroud)
请注意,argparse它将打印用法和帮助消息以及exit()致命错误。您可以重写.error()自己处理错误:
class ArgumentParserNoExit(argparse.ArgumentParser):
def error(self, message):
raise ValueError(message) # or whatever you like
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3421 次 |
| 最近记录: |