Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am generating new raster files from vector layers on a project. I would like to save them in the same directory as the project or layer files. How do I find this path using PyQGIS?

share|improve this question
up vote 10 down vote accepted

For python console:

QgsProject.instance().readPath("./") # also try "../"

Or with


you find something like


For python plugin (not tested!):

from PyQt4.QtGui import QMessageBox
from qgis.core import QgsProject
path_absolute = QgsProject.instance().readPath("./")
QMessageBox.information(None, "Title", "AP: " + unicode(path_absolute))
share|improve this answer
Thanks, it worked nicely from within the plugin. – fccoelho Oct 1 '12 at 10:45
You're welcome! But can you please +1 me and mark it as accepted answer.. ;-) – qräbnö Oct 1 '12 at 18:27

To access a vector file path, on a active layer, this code works well in Python Console:

>>>import os
>>>myfilepath= iface.activeLayer().dataProvider().dataSourceUri()
>>>(myDirectory,nameFile) = os.path.split(myfilepath)

It was tested with my 'tiznados_canoa.tif' raster as a active layer.

share|improve this answer

If you want to access a vector file path, on a active layer, this seems to work:

myfilepath= os.path.dirname( unicode( qgis.utils.iface.activeLayer().dataProvider().dataSourceUri() ) ) ;
fic = myfilepath + "[% "FILE" %]"

then to open a picture or text located in same directory as mylayer:

from PyQt4 import QtWebKit, QtCore ; vue=QtWebKit.QWebView() vue.setUrl( QtCore.QUrl( fic ) ) ;
share|improve this answer
Useful answer but what about the file name? You use "[% "FILE" %]" but I don't understand what does it means... – G M Aug 19 '13 at 20:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.