您的位置:首页 > 编程语言 > Python开发

Selenium遇到的问题8 python利用xlwt模块操作xls数据显示IO错误(Python中正反斜杠的用法)

2017-09-25 11:26 661 查看
IOError: [Errno 22] invalid mode ('w+b') or filename: 'C:\Users\xxx\test.xls'

问题:反斜杠作为特殊字符,不能作为目录分隔符

解决方法:1、将“\”改为“/”,‘/’为目录分隔符,即'C:/Users/xxx/test.xls'

                  2、在‘’前加个r,变为原始字符串,''里面的'\'将不表示特殊字符,即r'C:\Users\xxx\test.xls'

                  3、将’\'改为‘\\’,用一个"\"取消第二个"\"的特殊转义作用,即'C:\\Users\\xxx\\test.xls'


Python中的正斜杠与反斜杠

首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符

(一)目录中的斜杠们

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"\\"。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐