Python标准模块——shlex

来源:互联网 发布:f22到底有多先进知乎 编辑:程序博客网 时间:2024/05/29 09:34

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']
0 0