2010-08-01 107 views
18
import os 
path= os.getcwd() 
final= path +'\xulrunner.exe ' + path + '\application.ini' 
print final 

Quiero que el hacia fuera puesto:usando la barra invertida en Python (no para escapar)

c: \ Python25 \ xulrunner.exe c: \ Python25 \ application.ini

No quiero que la barra invertida funcione como una cadena, quiero decir que no quiero que escape o hacer algo especial. Pero me sale un error

inválido \ x escapar

¿Cómo puedo utilizar un '\' como un '\' y no un escape?

Respuesta

25

Para responder a su pregunta directamente, ponga r en frente de la cadena.

final= path + r'\xulrunner.exe ' + path + r'\application.ini' 

embargo, una solución mejor sería os.path.join:

final = os.path.join(path, 'xulrunner.exe') + ' ' + \ 
     os.path.join(path, 'application.ini') 

(la barra invertida no está escapando un salto de línea, pero se puede poner todo en una sola línea si quieres)

I mencionará que puede usar barras diagonales en las rutas de archivos, y Python las convertirá automáticamente al separador correcto (barra invertida en Windows) según sea necesario. Por lo tanto,

final = path + '/xulrunner.exe ' + path + '/application.ini' 

debería funcionar. Pero aún así es preferible usar os.path.join porque eso deja en claro lo que estás tratando de hacer.

+4

+1: 'os.path.join' –

+1

Python no convierte'/'en' \ ', en su lugar'/'es un separador de ruta válido en Windows –

18

Puede escapar de la barra inclinada. Use \\ y obtendrá solo una barra inclinada.

+1

funciona bien, y es rápido y fácil – Vass

Cuestiones relacionadas