Cuando se deben concatenar múltiples directorios, como en una ruta de búsqueda ejecutable, hay un carácter separador dependiente del sistema operativo. Para Windows es ';'
, para Linux es ':'
. ¿Hay alguna manera en Python para obtener en qué personaje dividirse?
En las discusiones sobre esta pregunta, ¿cómo puedo encontrar mi ruta de Python usando Python? , se sugiere que os.sep
lo haga. Esa respuesta es incorrecta, ya que es el separador para los componentes de un directorio o nombre de archivo y equivale a '\\'
o '/'
.
python
operating-system
environment-variables
Mark Ransom
fuente
fuente
os.sep
oos.path.sep
es lo que necesita para las rutas del sistema de archivos.os.pathsep
es:
o;
whileos.path.sep
es\\
o/
, a veces los nombres en Python me parecen sorprendentemente mal elegidos. Eso.
hace una gran diferencia.os.sep
yos.path.sep
, que son iguales, así comoos.pathsep
yos.path.pathsep
que también son iguales. ¿Por qué harían esto?Es os.pathsep
fuente
Haciéndolo un poco más explícito (para los novatos de Python como yo)
fuente
OK, entonces hay:
os.pathsep
es decir;
y que es un separador en laPATH
variable de entorno;os.path.sep
eso está/
en Unix / Linux y\
en Windows, que es un separador entre los componentes de la ruta.La similitud es una fuente de confusión.
fuente
os.path.sep
Es la respuesta a una pregunta diferente .Esta es una ruta de muestra para su directorio de trabajo / carpeta específica -
Salida para Linux
/home/*******/Desktop/folder/PlayWithPy/src/testImages/imageHidden.png
Salida para Windows
C:\\Users\\Administrator\\Desktop\\folder\\tests\\testImages\\imageHidden.png
fuente