Recuperar o caminho e o nome do arquivo do projeto QGIS atual em Python [fechado]


8

Existe uma maneira de obter o caminho e o nome do arquivo do projeto QGIS atual a partir de um script Python? Atualmente, estou tentando desenvolver um plug-in Python para QGIS e preciso criar um arquivo com um nome semelhante na mesma pasta.

Respostas:


17

Você pode usar o seguinte método da classe QgsProject para recuperar o caminho para o arquivo de projeto:

from qgis.core import *
prjpath = QgsProject.instance().fileName()

Se não houver nenhum projeto carregado ou o projeto atual ainda não foi salvo, isso retornará um QString vazio:

PyQt4.QtCore.QString(u'')

Você pode converter o caminho do arquivo do projeto em uma string Python Unicode (se necessário) com:

unicode(prjpath)

No entanto, se você pretende que seu plug-in seja multiplataforma, é melhor não trabalhar com o caminho do arquivo como uma string no Python, mas aproveite a excelente classe QFileInfo do Qt :

from PyQt4.QtCore import *
from qgis.core import *

prjfi = QFileInfo(QgsProject.instance().fileName())
prjfi.absolutePath()  # what you are probably looking for

A classe QFileInfo (junto com QFile e QDir ) tratará de muitos problemas de sistema de arquivos de plataforma cruzada para você e fornecerá métodos que, de outra forma, estariam espalhados por mais classes Python.


1
você também pode usar QgsProject.instance().homePath()para obter o caminho diretamente #
Denis Rouzaud 26/07/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.