5、 shlex
import shlex
shlex.split(s[, comments[, posix]])
使用类似shell的语法分割字符串s,相当于特殊的tokenizer。经常用在subprocess.Popen的第一个参数中。
POSIX模式下的parser规则:
- 双引号被去掉,并且不分割单词:
>>>shlex.split('hello","word')
['hello,word']
- 非引号转义字符保留下一个字符的字面形式
- 引用符号之间的字符串保留字面形式
>>>shlex.split('hello "i am glad" word')
['hello', 'i am glad', 'word']
- 转义引用符号之间的字符串保留字面形式
>>> shlex.split('hello \"i am glad\" word')
['hello', 'i am glad', 'word']