Python 如何将一个变量值嵌入另一个变量?

Python 如何将一个变量值嵌入另一个变量?,python,Python,我想将一个变量的值嵌入另一个变量,如下所示,但下面的代码不起作用。想知道如何在Python中实现它。我的变量x不断动态变化,希望将其作为一个单独的值 x = '1' b = '''SELECT * FROM table WHERE col1 IN ( CONCAT('abc',{{x}},'def%'), CONCAT('abc',{{x}},'ghi%') )

我想将一个变量的值嵌入另一个变量,如下所示,但下面的代码不起作用。想知道如何在Python中实现它。我的变量x不断动态变化,希望将其作为一个单独的值

x = '1'

b = '''SELECT *
         FROM table 
        WHERE col1 IN ( CONCAT('abc',{{x}},'def%'), 
                        CONCAT('abc',{{x}},'ghi%') 
                       );
    '''

解决方案可能类似于:

x = "1"
b = "SELECT * FROM TABLE.... 'abd{0}def%'\n'...abc{0}ghi%'".format(x)

对于其余细节,Michael Butscher提供了重要参考。

您必须使用处理SQL的库。请阅读它的文档,让它处理查询中的变量,不要自己编写带有插值变量的自定义查询。这些很容易导致SQL注入漏洞。因此,您有一个命名字符串和一个查询。连接或游标在哪里?可以使用
str.format
,但对于SQL,使用执行参数是更好的方法,正如@AndrasDeak已经提到的那样。