How do I get the full path of the current file's directory?
The special variable __file__
contains the path to the current file. From that we can get the directory using either pathlib
or the os.path
module.
Python 3
For the directory of the script being run:
import pathlib
pathlib.Path(__file__).parent.resolve()
For the current working directory:
import pathlib
pathlib.Path().resolve()
Python 2 and 3
For the directory of the script being run:
import os
os.path.dirname(os.path.abspath(__file__))
If you mean the current working directory:
import os
os.path.abspath(os.getcwd())
Note that before and after file
is two underscores, not just one.
Also note that if you are running interactively or have loaded code from something other than a file (eg: a database or online resource), __file__
may not be set since there is no notion of "current file". The above answer assumes the most common scenario of running a python script that is in a file.
References
- pathlib in the python documentation.
- os.path - Python 2.7, os.path - Python 3
- os.getcwd - Python 2.7, os.getcwd - Python 3
- what does the __file__ variable mean/do?
Find the current directory and file's directory
To get the full path to the directory a Python file is contained in, write this in that file:
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
(Note that the incantation above won't work if you've already used os.chdir()
to change your current working directory, since the value of the __file__
constant is relative to the current working directory and is not changed by an os.chdir()
call.)
To get the current working directory use
import os
cwd = os.getcwd()
Documentation references for the modules, constants and functions used above:
- The
os
andos.path
modules. - The
__file__
constant os.path.realpath(path)
(returns "the canonical path of the specified filename, eliminating any symbolic links encountered in the path")os.path.dirname(path)
(returns "the directory name of pathnamepath
")os.getcwd()
(returns "a string representing the current working directory")os.chdir(path)
("change the current working directory topath
")
How do I get the path and name of the file that is currently executing?
p1.py:
execfile("p2.py")
p2.py:
import inspect, os
print (inspect.getfile(inspect.currentframe())) # script filename (usually with path)
print (os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) # script directory
Python get full path for files in folder passed as argument
You'll likely want to use os.path.join
for image in imagesToStitch:
print os.path.join(args["first"], image)
How to obtain the absolute path of a file via Shell (BASH/ZSH/SH)?
Use realpath
$ realpath example.txt
/home/username/example.txt
Windows shell command to get the full path to the current directory?
Use cd
with no arguments if you're using the shell directly, or %cd%
if you want to use it in a batch file (it behaves like an environment variable).
How to get full path of a file?
Use readlink:
readlink -f file.txt
Get the directory path of absolute file path in Python
You are looking for this:
>>> import os.path
>>> fullpath = '/absolute/path/to/file'
>>> os.path.dirname(fullpath)
'/absolute/path/to'
Related functions:
>>> os.path.basename(fullpath)
'file'
>>> os.path.split(fullpath)
('/absolute/path/to','file')
Related Topics
Accessing Dict Keys Like an Attribute
How to Prompt For User Input and Read Command-Line Arguments
Dropping Root Permissions in Python
Python's Equivalent for R's Dput() Function
Python Linux Selenium: Chrome Not Reachable
How to Cleanly Kill Subprocesses in Python
How to Kill Zombie Processes Created by Multiprocessing Module
Could Not Find or Load the Qt Platform Plugin "Xcb"
Ioerror: Can't Read Data (Can't Open Directory) - Missing Gzip Compression Filter
How to Split My 800X480 5-Inch Screen into 2 Parts
Convert Utc Datetime String to Local Datetime
Pandas Read_SQL With Parameters
Changing the Process Name of a Python Script
How to Setup Environment Variable R_User to Use Rpy2 in Python
Shell Start/Stop for Python Script