distutils.util.split_quoted和shlex.split有什么区别

时间:2019-03-05 09:19:45

标签: python distutils shlex

python标准库提供了distutils.util.split_quotedshlex.split

是否存在distutils.util.split_quoted(s)shlex.split(s)给出不同结果的情况?

1 个答案:

答案 0 :(得分:2)

。这些算法在空格的定义上存在分歧:shlex对四个字符' \t\r\n'进行硬编码,但是distutilsstring.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']