Windows下文件路径的分隔符是‘\‘反斜杠,文件路径也是一个字符串,牵扯到‘\‘在Python字符串中存在转义的情况,就对这个问题做一个探究。
Python字符串中要使用‘\‘时有两种方法:
- 使用‘\‘转义,写法为‘\\‘。例如:"c:\\users\\xxx.txt"
- 字符串前加r强制不转义,写法r‘c:\users\xxx.txt‘
Python中默认的是第一种方式,使用转义字符串来表示路径,比如os.getcwd()返回的当前目录的路径可以发现。当使用第二种方法时,python还是会把字符串转换为第一种结果。
涉及到路径的操作大多是路径的拼接和分割,好在Python已经为这些操作封装了函数,os.path.join(),os.path.split()。建议大家使用这些函数来完成分割和拼接操作,不要自己写,一不小心就出错了。
测试代码如下:
1 >>> os.getcwd() 2 ‘C:\\Users\\xdy\\Desktop‘ 3 >>> f=open(os.getcwd()+r‘\forher\out1.txt‘) 4 >>> f=open(os.getcwd()+‘\forher\out1.txt‘) 5 Traceback (most recent call last): 6 File "<pyshell#21>", line 1, in <module> 7 f=open(os.getcwd()+‘\forher\out1.txt‘) 8 IOError: [Errno 22] Invalid argument: ‘C:\\Users\\xdy\\Desktop\x0corher\\out1.txt‘ 9 >>> 10 >>> os.path.join(os.getcwd(),‘forher‘) 11 ‘C:\\Users\\xdy\\Desktop\\forher‘ 12 >>> os.path.sep 13 ‘\\‘
时间: 2024-10-13 10:08:45