mysql中select显示的字符串为 aaa\'bbb, 包含一个反斜杠和单引号。利用MysqlDB的接口连接,得到的结果是对的。但是利用mysql -h *** -u*** -p*** -e"select" > out_file 得到的文件中 结果是: aaa\'bbb, 然后利用python读的话,就会转义成 aaa\\'bbb。
感觉挺迷惑的,为什么mysql自己的接口得到结果要多一个反斜杠呢?
mysql中select显示的字符串为 aaa\'bbb, 包含一个反斜杠和单引号。利用MysqlDB的接口连接,得到的结果是对的。但是利用mysql -h *** -u*** -p*** -e"select" > out_file 得到的文件中 结果是: aaa\'bbb, 然后利用python读的话,就会转义成 aaa\\'bbb。
感觉挺迷惑的,为什么mysql自己的接口得到结果要多一个反斜杠呢?
5 回答3.4k 阅读✓ 已解决
3 回答3.7k 阅读✓ 已解决
5 回答1.4k 阅读
2 回答2.1k 阅读
3 回答2.1k 阅读
1 回答3.6k 阅读
1 回答887 阅读
不知道我说的是不是回答了你的问题
如果mysql里面存的实际的字符串的值是aaa\'bbb,那么在python中直接表示这个字符串的的话,一般需要对\做转义,所以是aaa\'bbb
所以在python里面这个字串的repr是aaa\'bbb,但是如果你print这个字符串的话,依然是aaa\'bbb
在python的console里面,如果不是被打印出来,调用的__repr__函数,如果打印的话,调用的是__str__函数