os.path.curdir returns ‘.’ which is totally truthful and totally worthless. To get anything useful from it, you have to wrap it with os.path.abspath(os.path.curdir)
Why include a useless variable in the os.path module? Why not have os.path.curdir be a function that does the os.path.abspath for you?
Is there some historic reason for os.path.curdir to exist?
Maybe useless is a bit harsh, but not very useful seems weak to describe this.

It is a constant, just like
os.path.sep.Platforms other than POSIX and Windows could use a different value to denote the ‘current directory’. On Risc OS it’s
@for example, on the old Macintosh OS it’s:.The value is used throughout the standard library to remain platform agnostic.
Use
os.getcwd()instead;os.path.abspath()uses that function under the hood to turnos.path.curdirinto the current working directory anyway. Here is the POSIX implementation ofabspath():