来自参数字符串的Python Optparse

2024-09-29 23:28:07 发布

您现在位置:Python中文网/ 问答频道 /正文

通常情况下,只需调用optparse的方法parse_args,而不需要任何参数。但是,如果需要提供不同于系统argv,if可以传递给parse_args。在

但是,如果需要传递一个字符串而不是一个列表给parse_args,该怎么办呢?在

我真的需要一个函数来实现这一点:

>>> argument_string = "-a arga -b \"argument b\" arg1 arg2"
>>> parse_arguments(argument_string)"
['-a', 'arga', '-b', 'argument b', 'arg1', 'arg2']

因为

^{pr2}$

不能割断它。 有什么想法吗?在


Tags: 方法字符串参数stringifparse系统情况
2条回答

这就是shlex模块的用途(好吧,它是为了…):

>>> import shlex
>>> argument_string = "-a arga -b \"argument b\" arg1 arg2"
>>> l = shlex.split(argument_string)
>>> l
['-a', 'arga', '-b', 'argument b', 'arg1', 'arg2']

为此,请使用shlex模块:

>>> import shlex
>>> shlex.split("-a arga -b \"argument b\" arg1 arg2")
['-a', 'arga', '-b', 'argument b', 'arg1', 'arg2']

相关问题 更多 >

    热门问题