在Python中解析标志

时间:2014-10-17 20:22:45

标签: python

我正在尝试手动解析给定字符串的参数和标志。

例如,如果我有一个字符串

"--flag1 'this is the argument'"

我期待着回来

['--flag1', 'this is the argument']

表示字符串中任意数量的标志。

我遇到的困难是确定如何处理多字标记参数。

例如,如果我这样做(parser来自argparse

parser.parse_args("--flag1 'this is the argument'".split())

"--flag1 'this is the argument'".split()"

成为

['--flag1', "'this", 'is', 'the', "argument'"]

这不是我的期望。有一种简单的方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:8)

你很幸运; 这是一种简单的方法。使用shlex.split。它应该根据需要拆分字符串。

>>> import shlex
>>> shlex.split("--flag1 'this is the argument'")
['--flag1', 'this is the argument']