2017-03-29 27 views
-1

所以我想創建一個帶有MySQL查詢的腳本「show databases like'login';」如何在Python的MySQL查詢中使用單引號

我能夠使用字符串替換和使用「登錄」,但我無法得到它周圍的單引號。

下面是我如何去做,但我不能得到單引號,即使我使用「\」轉義它。

db = "'"+val+"'" 
    print "DB...", db 
    run.cmd("echo 'res = cur.execute(\"SHOW DATABASES like %s;\")\n' >> /run.py" % (db)) 

回答

0

由於您的字符串用雙引號括起來,所以您不需要轉義單引號。只需將val直接添加到格式中,然後將單引號添加到正被格式化的字符串中。

run.cmd("echo 'res = cur.execute(\"SHOW DATABASES like '%s';\")\n' >> /run.py" % (val)) 

此外,是否有任何理由爲什麼你將bash命令附加到python腳本中?

+0

這不起作用的單引號run.py.不知道不會顯示出來,爲什麼具有u你試過了嗎? – user2921139

+0

@ user2921139你用'run.cmd'指的是什麼函數?它是否構建在subprocess之上?這可能是一個問題,一個簡單的'print'代替'run.cmd'顯示引用很好。 – asdf

+0

它做所有預期的事情,但實際'瓦爾'周圍的單引號.. – user2921139

0

SHOW數據庫,如 '\' %s的\ '';。\」 - >這是什麼工作