一、转义
1、什么是转义符
当你输入一些特定的字符时,python会按照预定的含义进行解释并输出,以下例子说明了转义的含义(想要输出一段字符串并保留'里面的内容')
1 print ('the's is your name ')
当你执行这段代码的时候,就会报错如下所示
1 print ('the's is your name ')
SyntaxError: invalid syntax
提示语法错误,这是因为python不知道以那个点引号结束,此时则需要多其中一个单引号进行转义,使其失去本身的意义
print ('the\'s is your name ')
其中\的意义就是将'单引号的实际意义取消了,变成了普通字符串
或者在windows运行的时候,使用路径时,会出现以下问题
print(open('c:\filelist.txt'))
报错如下所示
Traceback (most recent call last):
File "G:/python学习/python代码存放/测试代码存放/基础知识/hello.py", line 5, in <module>
what's your is \t name
print(open('c:\filelist.txt'))
the's is your name OSError: [Errno 22] Invalid argument: 'c:\x0cilelist.txt'
表名没有找到相对应的路径,如果在c:\前面加上一个\则会显示其中含义,因为c:\其中的\已经有了转义的作用,则还需要使用转移符将\进行转义,使其成为一个普通的斜杠
print(open('c:\\filelist.txt'))
输出如下
<_io.TextIOWrapper name='c:\\filelist.txt' mode='r' encoding='cp936'>
2、r的使用
在上面的例子中,如果windows下的路径较长,每一个目录都需要进行转义,相当麻烦,例子如下
print (open('G:\\shell脚本\\【批量下载】memcached等\\来自PC的备份文件\\学习视频\\Linux files\\awk.txt))
如果遇到一行都需要进行转义的时候,无需如此麻烦,只需要在python处理的开始加上r即可,示例如下:
print(open(r'G:\shell脚本\【批量下载】memcached等\来自PC的备份文件\学习视频\Linux files\awk.txt'))
这样简化了一部分操作,这种方式只适用于一行所有的特殊字符都需要进行转义的时候才可以使用