Сложная параметризованная строка для экспорта gpkg в Python - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь написать Python скрипт, который выполняет процесс (в данном случае буфер) итеративно. Входной слой всегда один и тот же, но на каждой итерации имя выходного файла должно меняться и экспортироваться в gpkg.

Это структура строки, которую мне нужно создать, чтобы передать ее в качестве параметра:

'ogr:dbname=\'/dir/layer.gpkg\' table=\"layername\" (geom) sql='

Эта строка должна быть создана из двух параметров: путь и имя файла.

Я борюсь с этими внутренними одинарными / двойными кавычками и обратной косой чертой, потому что я не знаю, как они себя ведут. Это то, что я пробовал до сих пор:

path = './output/layer.gpkg'
dbname = f"""{path}"""
filename = 'filename'
outputlayer = """ogr:dbname='""" + dbname + """' table="layername" (geom) sql="""
outputlayer

И вот что я получаю:

'ogr:dbname=\'./output/layer.gpkg\' table="layername" (geom) sql='

Мне нужно параметризовать часть имени слоя и поставить эти двойные кавычки, как показано выше.

Просто для того, чтобы выставить его на конкурс. Моя конечная цель - создать строку параметризации, которая работает в рамках этого «OUTPUT» (выходной слой):

processing.run("native:buffer", {
               'INPUT': inputlayer,
               'DISTANCE': buffer, 'SEGMENTS': 20, 'END_CAP_STYLE': 0, 'JOIN_STYLE': 0, 'MITER_LIMIT': 2,
               'DISSOLVE': bufferdiss,
               'OUTPUT': outputlayer})

Можете ли вы предоставить чит-лист или руководство? работать с этими сложными строками?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...