How to get the PATH environment-variable separator in Python?

Question:

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 '/'.

Asked By: Mark Ransom

||

Answers:

Answered By: SilentGhost

It is os.pathsep

Answered By: Dave Costa

Making it a little more explicit (For python newbies like me)

import os
print(os.pathsep)
Answered By: Abbas Gadhia

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.

Answered By: DVV

This is a sample path for your working directory/specific folder –

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

Output for Linux-

:testImages:imageHidden.png

Output for Windows-

;testImages;imageHidden.png

Answered By: Shivam Bharadwaj