python字符串轉義問題

最近做爬蟲數據抓取的時候遇到一個,抓取回來的內容含有python的轉義字符,導致在寫入mysql的時候一直報錯,嘗試通過Unicode編碼,發現Unicode編碼后也含有\轉義字符,導致拼接sql的語句在執行mysql寫入時候依然報錯,請教大神嘗試 “”,”“”“”“,字符串前面加r,限制轉義,當執行插入(查詢)數據時遇到一些特殊字符會使得程序中斷。操作失敗。問題還是無法解決。

解決辦法

插入(查詢)之前用 connection.escape(str)處理一下即可

import pymongo

sql_pattern = "select * from my_collection where name = %s" #注意,這里直接用%s,不要給%s加引號,因為后面轉移過后會自動加引號

name = "xxx\xxx"

name = connection.escape(name)

sql = sql_pattern%name

print(sql) # select * from my_collection where name = 'xxx\\xxx'

with connection.cursor() as cursor:

? ? try:

? ? ? ? cursor.execute(sql)

? ? except:

? ? ? ? print(sql)

? ? ? ? pass

? ? for r in cursor:

? ? ? ? print(r)

問題完美解決。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,504評論 0 13
  • Python 面向對象Python從設計之初就已經是一門面向對象的語言,正因為如此,在Python中創建一個類和對...
    順毛閱讀 4,236評論 4 16
  • 草稿箱里存了好多文章,總覺得少點什么,一直未發。 現在又在和我家大寶視頻,仿佛我倆真成了學霸情侶。他在鏡頭的那端忙...
    祁先生的趙小姐閱讀 458評論 1 2
  • 晚上,媽媽熬了鯽魚湯,把鯽魚裝盤子裡,讓我先吃鯽魚。 看到盤子裡的鯽魚,我用筷子先從魚頭開始,在慢慢的...
    露丹兒閱讀 263評論 0 1
  • 中國有句古話,叫做“盡人事、知天命”,還有一句話叫做“謀事在人,成事在天”,講的都是一個意思,就是凡是盡最大努力,...
    曾經是小黑閱讀 777評論 0 1