Да .Эти алгоритмы не согласны с определением пробела: shlex
жестко кодирует четыре символа ' \t\r\n'
, однако distutils
использует string.whitespace
в в регулярном выражении .Поэтому он дополнительно рассматривает некоторые другие символы в качестве разделителей.
formfeed:
>>> 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']