How to get an absolute file path in Python
How to get an absolute file path in Python
>>> import os
>>> os.path.abspath(mydir/myfile.txt)
C:/example/cwd/mydir/myfile.txt
Also works if it is already an absolute path:
>>> import os
>>> os.path.abspath(C:/example/cwd/mydir/myfile.txt)
C:/example/cwd/mydir/myfile.txt
You could use the new Python 3.4 library pathlib
. (You can also get it for Python 2.6 or 2.7 using pip install pathlib
.) The authors wrote: The aim of this library is to provide a simple hierarchy of classes to handle filesystem paths and the common operations users do over them.
To get an absolute path in Windows:
>>> from pathlib import Path
>>> p = Path(pythonw.exe).resolve()
>>> p
WindowsPath(C:/Python27/pythonw.exe)
>>> str(p)
C:\Python27\pythonw.exe
Or on UNIX:
>>> from pathlib import Path
>>> p = Path(python3.4).resolve()
>>> p
PosixPath(/opt/python3/bin/python3.4)
>>> str(p)
/opt/python3/bin/python3.4
Docs are here: https://docs.python.org/3/library/pathlib.html
How to get an absolute file path in Python
Install a third-party path module (found on PyPI
), it wraps all the os.path
functions and other related functions into methods on an object that can be used wherever strings are used:
>>> from path import path
>>> path(mydir/myfile.txt).abspath()
C:\example\cwd\mydir\myfile.txt