2009-09-30 14 views
134

Cuando se deben concatenar varios directorios, como en una ruta de búsqueda ejecutable, hay un carácter separador dependiente del os. Para Windows es ';', para Linux es ':'. ¿Hay alguna manera en Python de saber qué personaje dividir?¿Cómo obtener el separador variable de entorno PATH en Python?

En las discusiones a esta pregunta How do I find out my python path using python?, se sugiere que os.sep lo hará. Esa respuesta es incorrecta, ya que es el separador para los componentes de un directorio o nombre de archivo y equivale a '\\' o '/'.

Respuesta

197
+203

Si, como yo, usted no leyó el cuerpo de esta pregunta y simplemente pasó por el título, usted pensará que este es el personaje que separa los elementos de una ** ruta del sistema de archivos ** (barra diagonal en Linux y MacOSX, barra diagonal inversa en Windows). No es, es el personaje que separa los elementos de un shell ** PATH ** que se usa para ubicar los comandos ejecutables. 'os.sep' o' os.path.sep' es lo que necesita para las rutas del sistema de archivos. – Perry

+63

'os.pathsep' es': 'o'; 'mientras' os.path.sep' es '\\' o '/' - a veces los nombres en Python me parecen sorprendentemente mal elegidos. Ese '.' hace una gran diferencia. – ArtOfWarfare

+0

¿Es esta la respuesta más corta en SO? ¡Más de 100 votos para 10 personajes! Bien, sé que es 66. –

30

Es os.pathsep

+8

¡Qué diferencia hace nueve segundos :-) – paxdiablo

10

lo que es un poco más explícito (Para los novatos como yo) pitón

import os 
print(os.pathsep) 
Cuestiones relacionadas