Сохраните "\ t", "\ n", "\ r" при разбиении строки с использованием shlex в python - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь разбить строку, используя shlex, но я хочу сохранить (буквально) "\ t", "\ n", "\ r".

Пример:

text = "a=\t\n\r\example c=d"
sp_text = shlex.split(text)
print(sp_text)

['a=', 'example', 'c=d']

Но я хочу напечатать это:

['a=\t\n\r\example', 'c=d']

Могу ли я сделать это с помощью shlex?

/ Angelos

1 Ответ

1 голос
/ 20 апреля 2020

Вы можете сделать следующее:

import shlex

text = "a=\t\n\r\example c=d"

sh = shlex.shlex(text)
sh.whitespace = ' '
sh.whitespace_split = True

sp_text = list(sh)
print(sp_text)

Вывод

['a=\t\n\r\\example', 'c=d']

Обратите внимание, что в приведенном выше примере для разделения используется только один пробел, идея пример иллюстрирует, как манипулировать пустым пространством shlex.

...