Raúl Morales
2007-10-15 01:17:19 UTC
Hola a todos:
Estoy intentando reemplazar el caracter \ que esta dentro de una ruta por un
/, el problema es que no se como poner el backslash en el replace. Hago algo
como esto:
ruta = ruta.replace("\\", "/"), pero el problema es que reemplaza solo donde
encuentre un doble backslash ' \\', y como no puedo hacer un .replace(' \',
'/') porque toma el (' \) como caracter de escape, es decir, el problema es
que no reemplaza un solo ' \' por el '/ '. He intentado de muchas formas,
pero si hago algo como ruta = ruta.replace(chr(92), '/') el caracter 92 del
ascii, igual lo toma como ' \\', como por mostar una de las formas que he
intentado. En la web solo he encontrado que para imprmir el \, basta con
hacer por ejemplo >>>print "\\"
\
pero esto no me sirve para lo que necesito.
Este "problemita" se me ha presentado intentado abrir una imagen, hacerle
un resize y guardala con el mismo nombre.
#Estoy utilizando PIL para manejar imagenes.
# import Image
La ruta que me retorna el GetPath() ( ruta = dlg.GetPath() )de un
FileDialog al imprimirla es algo como
"E:\Proyecto\Codigo\foto.bmp"
pero cuando intento hacer el Image.open(ruta), en el codigo fuente me sale
el siguiente error:
(Este es otro error que inicialmente creo que es resultado del primero)
AttributeError: type object 'Image' has no attribute 'open'
lo extraño es que si lo hago desde el interprete, ahi si abriria la imagen
si no fuera porque saca un error diciendo que no existe el archivo o la ruta
especificada, pero si cambio los \ por /, entonces todo funciona (en el
interprete).
Espero alguien me pueda ayudar de cualquier manera con esto, he buscado
mucho, pero no paso de encontrar solo como imprimir el \.
Saludos.
Estoy intentando reemplazar el caracter \ que esta dentro de una ruta por un
/, el problema es que no se como poner el backslash en el replace. Hago algo
como esto:
ruta = ruta.replace("\\", "/"), pero el problema es que reemplaza solo donde
encuentre un doble backslash ' \\', y como no puedo hacer un .replace(' \',
'/') porque toma el (' \) como caracter de escape, es decir, el problema es
que no reemplaza un solo ' \' por el '/ '. He intentado de muchas formas,
pero si hago algo como ruta = ruta.replace(chr(92), '/') el caracter 92 del
ascii, igual lo toma como ' \\', como por mostar una de las formas que he
intentado. En la web solo he encontrado que para imprmir el \, basta con
hacer por ejemplo >>>print "\\"
\
pero esto no me sirve para lo que necesito.
Este "problemita" se me ha presentado intentado abrir una imagen, hacerle
un resize y guardala con el mismo nombre.
#Estoy utilizando PIL para manejar imagenes.
# import Image
La ruta que me retorna el GetPath() ( ruta = dlg.GetPath() )de un
FileDialog al imprimirla es algo como
"E:\Proyecto\Codigo\foto.bmp"
pero cuando intento hacer el Image.open(ruta), en el codigo fuente me sale
el siguiente error:
(Este es otro error que inicialmente creo que es resultado del primero)
AttributeError: type object 'Image' has no attribute 'open'
lo extraño es que si lo hago desde el interprete, ahi si abriria la imagen
si no fuera porque saca un error diciendo que no existe el archivo o la ruta
especificada, pero si cambio los \ por /, entonces todo funciona (en el
interprete).
Espero alguien me pueda ayudar de cualquier manera con esto, he buscado
mucho, pero no paso de encontrar solo como imprimir el \.
Saludos.