Saya membuat file raster baru dari layer vektor pada sebuah proyek. Saya ingin menyimpannya di direktori yang sama dengan proyek atau file layer.
Bagaimana cara menemukan jalur ini menggunakan PyQGIS?
Untuk konsol python:
QgsProject.instance().readPath("./") # also try "../"
Atau dengan
dir(QgsProject.instance())
Anda menemukan sesuatu seperti
fileName()
Untuk plugin python (tidak diuji!):
from PyQt4.QtGui import QMessageBox
from qgis.core import QgsProject
path_absolute = QgsProject.instance().readPath("./")
QMessageBox.information(None, "Title", "AP: " + unicode(path_absolute))
Untuk mengakses jalur file vektor, pada lapisan aktif, kode ini berfungsi dengan baik di Python Console:
>>>import os
>>>myfilepath= iface.activeLayer().dataProvider().dataSourceUri()
>>>myfilepath
u'/home/zeito/tiznados_canoa.tif'
>>>(myDirectory,nameFile) = os.path.split(myfilepath)
>>>myDirectory
u'/home/zeito'
>>>nameFile
u'tiznados_canoa.tif'
Itu diuji dengan raster 'tiznados_canoa.tif' saya sebagai lapisan aktif.
Jika Anda ingin mengakses jalur file vektor, pada lapisan aktif, ini sepertinya berfungsi:
lalu untuk membuka gambar atau teks yang terletak di direktori yang sama dengan mylayer:
sumber
Saya melakukan tes ini pada QGIS 3.4
QgsProject.instance().fileName()
akan mengembalikan seluruh jalur ke file
'C: /MyDirectory/18809_US66.qgz'
sumber