

Therefore, if _file_ is an absolute path, the following will not cause an error. If an absolute path is specified in os.path.abspath(), it will be returned as is. # abspath: /Users/mbp/Documents/my-project/python-snippets/notebook/data/src/file_path.py # abs dirname: /Users/mbp/Documents/my-project/python-snippets/notebook/data/src Print( 'abs dirname: ', os.path.dirname(os.path.abspath( _file_)))Įxecution result. Print( 'abspath: ', os.path.abspath( _file_)) os.path.abspath() - Common pathname manipulations - Python 3.10.0 Documentation.Directories can also be obtained as absolute paths. If a relative path is obtained with _file_, it can be converted to an absolute path with os.path.abspath().

# basename: file_path.py # dirname: data/src Get the absolute path of the file being executed. Print( 'dirname: ', os.path.dirname( _file_))Įxecution result. Print( 'basename: ', os.path.basename( _file_)) To get the file name and directory name of the running file, use the following function in the os.path module of the standard library. Get the file name and directory name of the currently executing file. The results are shown at the end of this section. In Python 3.7, the absolute path is used.
Python get file path of file code#
In the following example, we will add the code to the same script file (file_path.py) in Python 3.7 and run it relative to the above directory. Python 3.9 and later returns the absolute path to _file_, regardless of the path specified in the python (or python3) command. # getcwd: /Users/mbp/Documents/my-project/python-snippets/notebook # _file_: /Users/mbp/Documents/my-project/python-snippets/notebook/data/src/file_path.py Python3 /Users/mbp/Documents/my-project/python-snippets/notebook/data/src/file_path.py pwd # /Users/mbp/Documents/my-project/python-snippets/notebook In the example above, the relative path is returned because it is relative, but the absolute path is returned if it is absolute. Up to Python 3.8, _file_ will contain the path specified in the python (or python3) command. You can also use _file_ to get the path specified by the python3 command. The absolute path to the current directory can be obtained with os.getcwd(). # getcwd: /Users/mbp/Documents/my-project/python-snippets/notebook # _file_: data/src/file_path.py

Run the python command (or python3 command in some environments) specifying the path to the script file. import os print( 'getcwd: ', os.getcwd()) pwd # /Users/mbp/Documents/my-project/python-snippets/notebookĬreate a Python script file (file_path.py) with the following contents in the lower level (data\src). In Windows, you can use the dir command instead of pwd to check the current directory. It is possible to use os.chdir() in the code to change the current directory. ipynb is located will be executed as the current directory, regardless of the directory where Jupyter Notebook is started. Note that _file_ cannot be used in Jupyter Notebook (.ipynb). Related Articles: Get and change (move) the current directory in Python.See the following article for information on getting and changing the current directory (working directory). The same processing can be done regardless of the current directory at runtime.Move the current directory to the directory of the file being executed.Reads other files based on the location of the currently executing file.Get the absolute path of the file being executed.

