Python 插入的数据与发送的实际数据不同

Python 插入的数据与发送的实际数据不同,python,sql,postgresql,Python,Sql,Postgresql,我试图将数据插入我的Postgres数据库,我能够插入一些其他数据,但不是实际数据 这是我的查询执行函数中的数据生成器和数据发送器 蟒蛇 def runid(): cmdStr = 'cd /root/Dart/log; ls -rt DartRunner*.log | tail -1 ' ret = execCmdLocal(cmdStr) logName = ret[1].strip() runId = "" print('The DartRunner

我试图将数据插入我的Postgres数据库,我能够插入一些其他数据,但不是实际数据

这是我的查询执行函数中的数据生成器和数据发送器 蟒蛇

def runid():
    cmdStr = 'cd /root/Dart/log; ls -rt DartRunner*.log | tail -1 '
    ret = execCmdLocal(cmdStr)
    logName = ret[1].strip()
    runId = ""
    print('The DartRunner Log generated is: %s'%logName)
    with open('/root/Dart/log/' + logName, "r") as fd:
         for line in fd:
            if 'runId' in line:
               runId = line.split()[-1]
               print('Run Id: %s'%runId)
               break
    print (runId) # output : Run Id: 180628-22
    post_runid(runId) # output is given in below link
    return jsonify({"run_id": runId})
这是my databasepostgres执行方法: 蟒蛇

我的输出如下所示:

将查询中的%s更改为“%s”修复了该问题

def post_runid(run_id):
     query = "insert into runid(runid) values('%s')"
     cur.execute(query, (run_id,))
     conn.commit()
请尝试cur.executequery,改为运行\u id,这样可以避免sql注入。否则,请将查询更改为具有值“%s”,这样就不会出现格式问题!
def post_runid(run_id):
     query = "insert into runid(runid) values('%s')"
     cur.execute(query, (run_id,))
     conn.commit()