¿Cómo escribir correctamente una cadena multilínea en bruto en Python?

  1. Sé que puedes crear una cadena multilínea de varias maneras:

Cotizaciones triples

''' This is a multi-line string. ''' 

Concatenando

 ('this is ' 'a string') 

Escapando

 'This is'\ 'a string' 
  1. También sé que prefijar la cadena con r convertirá en una cadena en bruto, útil para las rutas de archivo.

     r'C:\Path\To\File' 

Sin embargo, tengo una ruta de archivo larga que abarca varias líneas y necesita ser una cadena en bruto. ¿Cómo hago esto?

Esto funciona:

 In [1]: (r'a\b' ...: '\c\d') Out[1]: 'a\\b\\c\\d' 

Pero por alguna razón, esto no:

 In [4]: (r'on\e' ...: '\tw\o') Out[4]: 'on\\e\tw\\o' 

¿Por qué la "t" solo tiene una barra invertida?

Necesitarías un prefijo r en cada cadena literal

 >>> (r'on\e' r'\tw\o') 'on\\e\\tw\\o' 

De lo contrario, la primera parte se interpreta como un literal de cadena sin formato, pero la siguiente línea de cadena no lo es, por lo que '\t ‘ se interpreta como un carácter de tabulación.

Creo que es posible que también r'on\e' hacer que la segunda línea sea una cadena en bruto y prefijarla con la r como hiciste en r'on\e'