Python open函数中文件路径的/和\有什么区别
Python路径中
/与\作为分隔符的差异 - 反斜杠
\在Python普通字符串中是转义标识符,不会被当做普通字符传递给文件系统。直接把带单反斜杠的Windows路径写在引号里时,Python会自动把\和后面紧跟的字符组合成转义序列解析:比如你原路径里的\New会被识别为Unicode命名字符转义的起始标记,\t会被解析成制表符、\n会被解析成换行符,最终传给open函数的路径和你实际写的路径完全对不上,自然找不到文件。 - 正斜杠
/在Python字符串里没有特殊转义含义,就是普通字符。而且Windows系统底层API从很早就原生支持正斜杠作为路径分隔符,不存在识别障碍;加上macOS、Linux默认就用/当路径分隔符,用正斜杠写的路径可以直接跨平台运行,不需要额外适配。 - 如果需要使用Windows原生的反斜杠格式路径,可选择以下三种正确写法避免转义错误:
- 将路径中所有单反斜杠替换为双反斜杠
\\,通过转义输出单个普通反斜杠字符,示例:
- 将路径中所有单反斜杠替换为双反斜杠
import csv with open('D:\\Machine_learning_student_project\\New folder\\student-mat.csv','r') as f: a = csv.reader(f)
- 在路径字符串前加
r前缀标记为原始字符串,该模式下Python不会解析任何转义序列,\会被直接识别为普通字符,示例:
import csv with open(r'D:\Machine_learning_student_project\New folder\student-mat.csv','r') as f: a = csv.reader(f)
- 借助Python标准库的路径处理模块(
os.path或pathlib)拼接生成路径,模块会自动根据运行环境匹配对应分隔符,无需手动处理斜杠转义。
内容的提问来源于stack exchange,提问作者Miso_soup
相关产品推荐
相关产品推荐

