2011-06-08 17 views
7

¿Cómo puedo escapar backslashe en una cadena: 'pictures \ 12761_1.jpg'?python replace barras invertidas a barras

Sé acerca de la cadena sin procesar. Pero, ¿cómo puedo convertir str a raw si tomo el valor 'pictures \ 12761_1.jpg' del archivo xml, por ejemplo?

Respuesta

13

Puede utilizar el método de cadena .replace().

>>> print r'pictures\12761_1.jpg'.replace("\\", "/") 
pictures/12761_1.jpg 
0

También puede utilizar split/join:

print "/".join(r'pictures\12761_1.jpg'.split("\\")) 

EDITADO:

La otra forma es posible utilizar es preparar los datos durante todo su recuperación (por ejemplo, la idea es actualizar cadena antes asignar a la variable) - por ejemplo:

f = open('c:\\tst.txt', "r") 
print f.readline().replace('\\','/') 

>>>'pictures/12761_1.jpg\n' 
+0

¿Has leído mi pregunta? Escribí que sé sobre r'pictures \ 12761_1.jpg'.split ("\\") Pero, ¿cómo puedo escapar la barra invertida si ya tengo una variable con el valor 'pictures \ 12761_1.jpg'? –

+0

Disculpa si me perdí esto, ¿pero dónde escribiste esto? –

+0

He intentado lo mismo sin procesar, por ej. escribió en la consola de Python2.6 lo siguiente: print "/". join ('pictures \ 12761_1.jpg'.split ("\\")) y sigue funcionando de la misma manera. ¿O extraño algo? –

Cuestiones relacionadas