python 对反斜杠的处理问题

python2 或3 里面要怎么才能实现php 里面的addslashes方法
只需要把双引号和单引号转换为一条反斜杠+引号就好

  首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows
  (一)目录中的斜杠们
  python读文件需要输入的目录参数,列出以下例子:
  path = r"C:\Windows\temp\readme.txt"
  path1 = r"c:\windows\temp\readme.txt"
  path2 = "c:\\windows\\temp\\readme.txt"
  path3 = "c:/windows/temp/readme.txt"
  打开文件函数open()中的参数可以是path也可以是path1、path2、path3。
  path:"\"为字符串中的特殊字符,加上r后变为原始字符串,则不会对字符串中的"\t"、"\r" 进行字符串转义
  path1:大小写不影响windows定位到文件
  path2:用一个"\"取消第二个"\"的特殊转义作用,即为"\\"
  path3:用正斜杠做目录分隔符也可以转到对应目录,并且在python中path3的方式也省去了反斜杠\转义的烦恼
  (二)正则表达式中的斜杠们
  正则表达式匹配反斜杠"\",为什么是"\\\\"或是 r"\\"呢?
  因为在正则表达式中\为特殊符号,为了取消它在正则表达式中的特殊意义需要加一个\就变成了\\,但是问题又来了,\也是字符串中的特殊字符,所以又要分别对两个\取消其特殊意义,即为\\\\。Python中有一个原始字符串操作符,用于那些字符串中出现特殊字符,在原始字符串中,没有转义字符和不能打印的字符。这样就可以取消了\在字符串中的转义功能,即r"\\"。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-04
def addslashes(s):
    d = {'"':'\\"', "'":"\\'", "\0":"\\\0", "\\":"\\\\"}
    return ''.join(d.get(c, c) for c in s)
 
s = "John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0"
print s
print addslashes(s)

自定义一个addslashes()函数吧

本回答被网友采纳
第2个回答  2014-11-02
"'\"".replace("'","\\'").replace("\"","\\\"")

追问

理想结果为

打印后的结果

追答

你的理想结果把双引号给去掉了,我的示例当中有单引号和双引号的,你的问题当中也没说清楚,“一条反斜杠+引号”,这个所加的引号是单引号还是双引号,还是保留原来的引号不变,最好给一个例子来说明下

本回答被提问者采纳