python中的字符串,可以使用单引号(')或者双引号("),但在其中包含反斜杠(\)时,需要特殊处理。
反斜杠代表转义符,如\n、\t等。如果确实需要原始的\而不是转义,需要用双反斜杠(\\),或者前面增加r。
例如 path = “C:\new_folder\file.txt” ,想保留反斜杠,可以使用
path = "C:\\\new_folder\\\file.txt"
或者
path = r"C:\new_folder\file.txt"
尤其是在正则表达式中,反斜杠经常用到,比如\d代表数字,使用r会简化编写方式。
pattern = r"\d{3}-\d{2}-\d{4}"
原始字符串的规则是,让反斜杠后的字符保持不变,并且保留反斜杠。这就导致一个问题,当一个单独的反斜杠出现在字符串的最后一个位置时,解释器会认为标志着字符串结束的引号是字符串的一部分,而在它之后找不到字符串结束标志了,因此就会产生语法错误。
因此,在使用原始字符串时,要注意最后一个字符不能是单独的一个反斜杠,或者说不能是奇数个反斜杠。当字符串最后一个字符一定要是反斜杠时,可以采取原始字符串+‘\\’的形式。