Existe uma maneira de declarar uma variável de string em python de forma que tudo dentro dela seja automaticamente escapado ou tenha seu valor de caractere literal?
Estou não perguntar como escapar das aspas com barras, isso é óbvio. O que estou pedindo é uma maneira de uso geral para tornar literal tudo em uma string, para que eu não precise percorrer manualmente e escapar de tudo para strings muito grandes. Alguém conhece uma solução? Obrigado!
a
conterá uma string com dois caracteres de quebra de linha?"
sem bom, porque a coisa toda vai acabar com o""""
que é um erro de sintaxe.Não existe tal coisa. Parece que você quer algo como "documentos aqui" em Perl e os shells, mas Python não tem isso.
Usar strings brutas ou strings multilinhas significa apenas que há menos coisas com que se preocupar. Se você usar uma string bruta, então você ainda terá que trabalhar em um terminal "\" e com qualquer solução de string você terá que se preocupar com o fechamento ", ',' '' ou" "" se estiver incluído em seus dados .
Ou seja, não há como ter a corda
armazenado adequadamente em qualquer literal de string Python sem escape interno de algum tipo.
fonte
Você encontrará a documentação literal de string do Python aqui:
http://docs.python.org/tutorial/introduction.html#strings
e aqui:
http://docs.python.org/reference/lexical_analysis.html#literals
O exemplo mais simples seria usar o prefixo 'r':
fonte
(Supondo que você não seja obrigado a inserir a string diretamente no código Python)
para contornar o problema apontado por Andrew Dalke, basta digitar a string literal em um arquivo de texto e usá-la;
Isso imprimirá o texto literal de tudo o que estiver no arquivo de texto, mesmo que esteja;
Não é divertido ou ideal, mas pode ser útil, especialmente se você tiver 3 páginas de código que precisariam de escape de caractere.
fonte
se string for uma variável, use o. método repr nele:
fonte
repr(s)
vez disso para um estilo melhor