python标准库提供distutils.util.split_quoted
和shlex.split
。
有没有distutils.util.split_quoted(s)
给shlex.split(s)
带来不同结果的情况?
是。这些算法不同意关于空白的定义:shlex
硬编码四个字符' \t\r\n'
,然而distutils
在string.whitespace
中使用a regex。因此,它还将一些其他字符视为分隔符。
换页:
>>> distutils.util.split_quoted('A\fB')
['A', 'B']
>>> shlex.split('A\fB')
['A\x0cB']
垂直标签:
>>> distutils.util.split_quoted('A\vB')
['A', 'B']
>>> shlex.split('A\vB')
['A\x0bB']