Страницы

Поиск по вопросам

пятница, 13 марта 2020 г.

Как экранировать все спецсимволы в строке?

#python_3x


В терминале перед каждым спецсимволом (пробелом и п.) ставится \.
Допустим, у меня есть исходная строка. Как перевести ее в этот формат?
Я мог бы и ручками написать, но есть ли что-то готовое? 

Пример экранирования:


  I love cats - they are cool
  
  I\ love\ cats\ -\ they\ are\ cool

    


Ответы

Ответ 1



Это стандартное экранирование спец-символов. Есть такой кодек - string-escape. name.encode('string-escape')

Ответ 2



Чтобы экранировать bash метасимволы в строке, достаточно поместить строку в одинарные кавычки; для этого можно использовать shlex.quote(): >>> import shlex >>> print(shlex.quote("don't tread..")) 'don'"'"'t tread..'

Комментариев нет:

Отправить комментарий