首页 > 解决方案 > distutils.util.split_quoted 和 shlex.split 有什么区别

问题描述

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

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

标签: pythondistutilsshlex

解决方案


的。这些算法不同意空格的定义: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']

推荐阅读