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 '/'
.
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
'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
¿Es esta la respuesta más corta en SO? ¡Más de 100 votos para 10 personajes! Bien, sé que es 66. –