web-dev-qa-db-fra.com

Comment obtenir le séparateur de variable d'environnement PATH en Python?

Lorsque plusieurs répertoires doivent être concaténés, comme dans un chemin de recherche exécutable, il existe un caractère séparateur dépendant du système d'exploitation. Pour Windows c'est ';', pour Linux c'est ':'. Existe-t-il un moyen Python d’obtenir le personnage sur lequel se séparer?)

Dans les discussions sur cette question Comment trouver mon python en utilisant python? ), Il est suggéré que os.sep le fera. Cette réponse est fausse, car il s'agit du séparateur des composants d'un répertoire ou d'un nom de fichier et équivaut à '\\' ou '/'.

150
Mark Ransom
215
SilentGhost

C'est os.pathsep

32
Dave Costa

Le rendre un peu plus explicite (pour python débutants comme moi)

import os
print(os.pathsep)
12
Nerrve

OK, alors il y a:

  • os.pathsep c'est ';' et qui est un séparateur dans la variable d'environnement% PATH%;
  • os.path.sep qui correspond à "/" sous Unix/Linux et à "\" sous Windows, séparateur des composants de chemin.

La similitude des deux noms est apparemment une source de confusion.

1
DVV

Ceci est un exemple de chemin pour votre répertoire de travail/dossier spécifique -

import os
 my = os.path.sep+ "testImages" + os.path.sep + "imageHidden.png"
 print(my)

Sortie pour Linux-

/home/*******/Desktop/folder/PlayWithPy/src/testImages/imageHidden.png

Sortie pour Windows-

C:\\Users\\Administrator\\Desktop\\folder\\tests\\testImages\\imageHidden.png

0
Shivam Bharadwaj