Gdy trzeba połączyć wiele katalogów, na przykład w wykonywalnej ścieżce wyszukiwania, występuje separator zależny od systemu operacyjnego. W systemie Windows jest to ';'
, w przypadku Linuksa to ':'
. Czy w Pythonie jest sposób, aby wybrać znak do podziału?
W dyskusjach na to pytanie Jak znaleźć ścieżkę do Pythona za pomocą Pythona? , sugeruje się, że os.sep
to zrobi. Ta odpowiedź jest nieprawidłowa, ponieważ jest to separator składników katalogu lub nazwy pliku i równa się '\\'
lub '/'
.
python
operating-system
environment-variables
Mark Okup
źródło
źródło
os.sep
lubos.path.sep
jest tym, czego potrzebujesz do ścieżek systemu plików.os.pathsep
jest:
lub;
whileos.path.sep
jest\\
lub/
- czasami nazwy w Pythonie wydają mi się szokująco źle dobrane. To.
zbyt duża różnica.os.sep
ios.path.sep
, które są równe, a takżeos.pathsep
ios.path.pathsep
które są również równe. Dlaczego mieliby to zrobić?To jest os.pathsep
źródło
Robiąc to trochę bardziej jednoznacznie (dla początkujących w Pythonie, takich jak ja)
źródło
OK, więc są:
os.pathsep
to jest;
i który jest separatorem wPATH
zmiennej środowiskowej;os.path.sep
to jest/
w systemach Unix / Linux i\
Windows, który jest separatorem między składnikami ścieżki.Podobieństwo jest źródłem nieporozumień.
źródło
os.path.sep
jest odpowiedzią na inne pytanie.To jest przykładowa ścieżka do katalogu roboczego / określonego folderu -
Wyjście dla systemu Linux
/home/*******/Desktop/folder/PlayWithPy/src/testImages/imageHidden.png
Wyjście dla systemu Windows
C:\\Users\\Administrator\\Desktop\\folder\\tests\\testImages\\imageHidden.png
źródło