Я пытаюсь написать 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})
Можете ли вы предоставить чит-лист или руководство? работать с этими сложными строками?