When multiple directories need to be concatenated, as in an executable search path, there is an os-dependent separator character. For Windows it's ';'
, for Linux it's ':'
. Is there a way in Python to get which character to split on?
In the discussions to this question How do I find out my python path using python? , it is suggested that os.sep
will do it. That answer is wrong, since it is the separator for components of a directory or filename and equates to '\\\\'
or '/'
.
它是 os.pathsep
Making it a little more explicit (For python newbies like me)
import os
print(os.pathsep)
OK, so there are:
os.pathsep
that is ;
and which is a separator in the PATH
environment variable;os.path.sep
that is /
in Unix/Linux and \\
in Windows, which is a separator between path components. The similarity is a source of confusion.
This is a sample path for your working directory/specific folder -
import os
my = os.path.sep+ "testImages" + os.path.sep + "imageHidden.png"
print(my)
Output for Linux-
/home/*******/Desktop/folder/PlayWithPy/src/testImages/imageHidden.png
Output for Windows-
C:\\\\Users\\\\Administrator\\\\Desktop\\\\folder\\\\tests\\\\testImages\\\\imageHidden.png
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.