Apakah ada cara untuk mendapatkan jalur dan nama file proyek QGIS saat ini dari skrip Python? Saat ini saya mencoba mengembangkan plugin Python untuk QGIS dan saya perlu membuat file dengan nama yang mirip di folder yang sama.
8
Anda dapat menggunakan metode berikut dari kelas QgsProject untuk mengambil path ke file proyek:
from qgis.core import *
prjpath = QgsProject.instance().fileName()
Jika tidak ada proyek yang dimuat, atau proyek saat ini belum disimpan, ini akan mengembalikan QString kosong:
PyQt4.QtCore.QString(u'')
Anda dapat mengonversi jalur file proyek lebih jauh ke string Python Unicode (jika perlu) dengan:
unicode(prjpath)
Namun, jika Anda berniat membuat plugin Anda menjadi cross-platform, Anda lebih baik tidak bekerja dengan path file sebagai string dalam Python, tetapi memanfaatkan kelas QFileInfo Qt yang sangat baik :
from PyQt4.QtCore import *
from qgis.core import *
prjfi = QFileInfo(QgsProject.instance().fileName())
prjfi.absolutePath() # what you are probably looking for
Kelas QFileInfo (bersama dengan QFile dan QDir ) akan menangani banyak masalah sistem berkas lintas platform untuk Anda, dan secara inklusif menyediakan metode yang jika tidak akan tersebar di lebih banyak kelas Python.
QgsProject.instance().homePath()
untuk mendapatkan jalur secara langsung