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

Leave a Reply

Your email address will not be published. Required fields are marked *