Pular para o conteúdo

Como usar a string bruta do Python no seu código?

[

O que são Python Raw Strings?

por Bartosz Zaczyński Jan 24, 2024 basics python

Em resumo: Python Raw Strings ignoram sequências de caracteres de escape

Se você já se deparou com uma string literal padrão prefixada com a letra minúscula r ou a letra maiúscula R, então você encontrou uma string bruta do Python:

>>> r"Esta é uma string bruta"
'Esta é uma string bruta'

Embora uma string bruta pareça e se comporte de maneira semelhante a uma string literal normal, há uma diferença importante na forma como o Python interpreta alguns de seus caracteres, que você explorará neste tutorial.

Observe que não há nada especial sobre o objeto de string resultante. Independentemente de você declarar seu valor literal usando um prefixo ou não, você sempre acabará com um objeto Python str regular.

Outros prefixos disponíveis, que você pode usar e, às vezes, até misturar em suas strings literais do Python, incluem:

  • b: Literal de bytes
  • f: Literal de string formatada
  • u: Literal de string Unicode legado (PEP 414)

Como as strings brutas podem ajudá-lo a especificar caminhos de arquivo no Windows?

Ao lidar com caminhos de arquivo no Windows, você geralmente precisa lidar com sequências de caracteres de escape, como \ para separar diretórios ou \" para representar uma aspa dentro de um caminho. No entanto, as strings brutas do Python permitem que você ignore essas sequências de caracteres de escape.

Considere o seguinte exemplo:

>>> path = r"C:\Programas\Python\Scripts"
>>> print(path)
C:\Programas\Python\Scripts

Observe que o caminho foi declarado como uma string bruta prefixada com r. Isso significa que a sequência \ é interpretada literalmente e não como um caractere de escape, como seria normalmente. Portanto, você pode especificar caminhos de arquivo no Windows usando strings brutas sem a necessidade de duplicar as barras invertidas.

Isso simplifica a escrita de caminhos de arquivo no seu código Python e reduz a probabilidade de erros devido a sequências de caracteres de escape malformadas.