美文网首页程序员
python字符串转义问题

python字符串转义问题

作者: 风雨_83 | 来源:发表于2018-09-05 09:35 被阅读144次

    最近做爬虫数据抓取的时候遇到一个,抓取回来的内容含有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)

    问题完美解决。

    相关文章

      网友评论

        本文标题:python字符串转义问题

        本文链接:https://www.haomeiwen.com/subject/jglkwftx.html