1

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

是否有任何情况会distutils.util.split_quoted(s)给出不同的结果shlex.split(s)

4

1 回答 1

2

的。这些算法不同意空格的定义:shlex硬编码四个字符' \t\r\n',但在正则表达式distutils中使用。因此,它另外将一些其他字符视为分隔符。string.whitespace

换页:

>>> 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']
于 2019-04-29T20:30:40.883 回答