【问题标题】:How to use psycopg2 connection string with variables?如何将 psycopg2 连接字符串与变量一起使用?
【发布时间】:2015-08-20 13:17:28
【问题描述】:

我正在尝试使用以下变量连接到 Postgres 数据库:

cs = "dbname=%s user=%s password=%s host=%s port=%s",(dn,du,dp,dh,dbp)
con = None
con = psycopg2.connect(cs)

但是我收到错误消息:

TypeError: argument 1 must be string, not tuple

我需要能够在连接字符串中使用变量。有谁知道如何做到这一点?

【问题讨论】:

    标签: python postgresql psycopg2


    【解决方案1】:

    您的代码当前使用您的字符串和您尝试子集的元组创建一个元组。你需要:

    cs = "dbname=%s user=%s password=%s host=%s port=%s" % (dn,du,dp,dh,dbp)
    

    【讨论】:

      【解决方案2】:

      你可以直接传递参数而不用建立连接字符串:

      con = psycopg2.connect(
          dbname=dn,
          user=du,
          password=dp,
          host=dh,
          port=dbp,
      )
      

      Docs 了解更多关于psycopg2.connect的详细信息

      【讨论】:

        猜你喜欢
        • 2011-05-13
        • 1970-01-01
        • 2012-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-20
        • 2019-12-15
        相关资源
        最近更新 更多