带有单引号,双引号和反斜杠的复杂字符串链

问题描述 投票:0回答:1

我需要构建这样的文本链:

 outputlayer = 'ogr:dbname=\'/home/user/output/prueba.gpkg\' table=\"prueba\" (geom) sql='

我需要将该路径和文件路径作为参数,但是我不明白如何准确地重构该字符串示例。我已经阅读了如何在引号前插入反斜杠,但仍然不明白。

例如。我在系这个:

trypath = '/this is a path'
outputlayer = 'ogr:dbname' + '\''+ '''trypath'''

...我明白了:

Out[99]: "ogr:dbname'trypath"

...我希望这个

'ogr:dbname=\'/this is a trypath'

我什至都不明白为什么输出将单引号更改为双引号。

python sql string gis backslash
1个回答
0
投票

假设您使用的是Python 3.6或更高版本,则应使用格式字符串(也称为f字符串)从变量构造字符串。以字母“ f”开头的字符串,然后将所需的任何变量放在大括号{}中。另外,如果您使用单引号作为外引号,则不必转义双引号,反之亦然。

代码:

db_name = "'home/user/output/prueba.gpkg'"
table_name = '"prueba"'
outputlayer = f'ogr:dbname={db_name} table={table_name} (geom) sql='
outputlayer

输出:

'ogr:dbname=\'home/user/output/prueba.gpkg\' table="prueba" (geom) sql='
© www.soinside.com 2019 - 2024. All rights reserved.