python 多次 转义问题

来源:互联网 发布:手机电池修复软件下载 编辑:程序博客网 时间:2024/06/13 12:47

概要

当我们进行字符串处理时,总会遇到一些特殊字符,这时候就需要使用转义字符。而我们的字符串,往往是经过多个处理的(不同的编译器,解释器),而对于初学者,我们内心中可能有时候就会觉得,字符串转义一次就可以了,这是不正确的。字符串的转义次数,是视你字符串处理的场景而定的
举个简单的例子:
你写了个字符串,需要经过python处理后,然后再传给java处理。那么你的字符串中,就需要考虑这两个场景的转义。
“ \\\“ ”   --(python转义)-- > " \" "    --(java转义)-->"

ps:
  • 【特殊字符】指的是 语言在编译、解释过程中,语言的保留字。

细节分析


(1)这是python 中一条字符串的赋值语句:
sql_strength = "SELECT topic_id,strength FROM topic_developer_strength WHERE developer_name = 'Adam's Apps'"

存在的问题
将这句话通过 python 传给 mysql 是有问题的。因为出现了 '。所以需要对其转义。

(2)所以我转义为如下形式:
sql_strength = "SELECT topic_id,strength FROM topic_developer_strength WHERE developer_name = 'Adam\\\'s Apps'"

下面说明为何这样写。

(2.1)python 第一步将字符串信息存入,sql_strength,存入之后形式如下:
SELECT topic_id,strength FROM topic_developer_strength WHERE developer_name = 'Adam\'s Apps'

(2.2)mysql接受 python传过的上述语句,然后运行mysql 。
 'Adam\'s Apps' 这个是字符串,在mysql识别转义后,可以认为 Adam's Apps 。

注意
这个过程涉及到两次转义,python 一次,mysql一次。
0 0
原创粉丝点击