在 Python 程序中,我们经常需要对文件进行操作。在 Windows 下,文件目录路径使用反斜杠"\"来分隔。然而,在 Python 代码中,反斜杠"\"是转义符,例如"\n"表示换行符、"\t"表示制表符。这样,如果继续使用"\"表示文件路径,就会产生歧义。
❓ 示例问题
例如:
python
path = "c:\test.txt"
这个路径表示的是 C 盘根目录下的一个文件,还是表示一个字符串呢?因为"\t"也可以解释为制表符。如果让我们人来判断,这当然是一个很简单的问题。但是机器无法做出正确的判断,只有没有歧义的代码机器才会正确执行。
💡 解决办法
采用下面任何一种书写形式均可:
-
使用斜杠"/" (推荐)
pythonpath = "c:/test.txt"
这样就没有歧义了。
-
将反斜杠符号转义
pythonpath = "c:\\test.txt"
因为反斜杠是转义符,所以两个"\"表示一个反斜杠符号。
-
使用 Python 的 raw string
pythonpath = r"c:\test.txt"
在字符串前面加上字母"r",表示后面是一个原始字符串(raw string)。不过 raw string 主要是为正则表达式设计的,而不是 Windows 路径,所以这种做法尽量少用,可能会出问题。