我正在为QGIS(QGIS Plugin Builder)创建一个插件。插件目录的相对路径需要以冒号开头。例如,图标的加载方式如下:
icon_path = ':/plugins/into_sqlite/icon.png'
当我尝试对sqlite数据库执行相同操作时,数据库无法加载:
connection = sqlite3.connect(":/plugins/PLUGINNAME/database.sqlite")
OperationalError: unable to open database file
但当我尝试同样的方法给出绝对路径时,它是有效的:
connection = sqlite3.connect("/home/USERNAME/.qgis/python/plugins/PLUGINNAME/database.sqlite")
OperationalError: unable to open database file
我认为问题是路径以冒号开始,sqlite使用冒号作为特殊字符,例如在内存中加载数据库:
connection = sqlite3.connect(":memory:")
但我需要使用真实路径。如何提供路径并转义冒号或启动没有冒号的路径?你知道吗
我现在使用以下代码来解决这个问题:
变量具有以下值:
另一个建议:
IRC的建议是:
相关问题 更多 >
编程相关推荐