2012-05-26 38 views
6

He desarrollado una aplicación en python y pyside. Lo he desarrollado en una máquina Linux. Ahora quiero implementarlo en la máquina de Windows. Aquí el problema es el camino. En barra diagonal de Linux (/) se utiliza como separador, pero Windows usa barra inclinada invertida (\) como separador.Cómo solucionar el problema de barra diagonal en la ruta en Windows en Python?

Por lo tanto, en Windows, todas las rutas no funcionan. Hay varios caminos en la aplicación (por hoja de estilo, imágenes, etc. LOG)

Su difícil cambiar todos los caminos ya que la mayoría de los caminos son de código duro como:

rootPath()+'/static/images/add.png' #rootPath return os.path... 

Ejemplo:

colorPickerBtnStyle = 'background:url(' + rootPath() + '/static/images/color_icon.png);background-repeat: no-repeat;background-position:center center;' 

¿Hay algún problema para este problema?

+11

¿Cuándo Windows dejó de aceptar "/" o "\" en las rutas? Se les permite desde DOS. – stark

+3

El ejemplo se ve como CSS, donde siempre debe usar barras diagonales incluso en Windows, incluso si el archivo al que se hace referencia es local: http://blogs.msdn.com/b/ie/archive/2006/12/06/file -uris-in-windows.aspx – Thomas

+0

Se usa CSS en la aplicación de escritorio usando qt/pyside – anils

Respuesta

13

os.path.join() utilizará el tipo de barra derecha en la plataforma derecha.

+0

En este caso, todas las rutas deben actualizarse. – anils

+2

Sí. Eso es a lo que te registras cuando codificas las cosas :) – Thomas

+0

Problema resuelto mediante el uso de buscar y reemplazar y la función agregada assetPath que devuelve la ruta de la imagen y la construcción de la ruta usando os.path.join(). Thak, Thomas! – anils

Cuestiones relacionadas