distutils.util.split_quoted 和 shlex.split 有什么区别
What is the difference between distutils.util.split_quoted and shlex.split
python 标准库提供 distutils.util.split_quoted
and shlex.split
。
是否存在 distutils.util.split_quoted(s)
给出与 shlex.split(s)
不同的结果的情况?
是。这些算法不同意空格的定义:shlex
硬编码四个字符 ' \t\r\n'
, however distutils
uses string.whitespace
in 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']
python 标准库提供 distutils.util.split_quoted
and shlex.split
。
是否存在 distutils.util.split_quoted(s)
给出与 shlex.split(s)
不同的结果的情况?
是。这些算法不同意空格的定义:shlex
硬编码四个字符 ' \t\r\n'
, however distutils
uses string.whitespace
in 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']