Accessing the script path from within your script
Sometimes, you need to know exactly where the current working directory is so that you can access external resources.
Getting ready
This code uses the Python built-in library, and can be used in any context. We will run this recipe in the QGIS Python console.
How to do it...
In this recipe, we will get the current working directory of the Python console, which can change with the configuration:
- Start QGIS.
- From the Plugins menu, select Python Console.
- In the Python console, run the following code:
import os os.getcwd()
How it works...
QGIS relies heavily on file system paths to run the application and manage external data. When writing cross-platform QGIS code, you cannot assume the working directory of your script.
There's more...
You can also use Python's __file__
variable, which tells you the path of the script currently being executed. For example, path = os.path.dirname(__file__)
On his blog, one of the QGIS developers, Gary Sherman, has an excellent post about the various aspects of path variables in QGIS beyond just the execution directory. You can check it out at http://spatialgalaxy.net/2013/11/06/getting-paths-with-pyqgis/.