You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook调用read_csv()报找不到文件,加r前缀生效原因是什么

Python路径字符串加r前缀的核心原因

这是Python字符串转义规则导致的问题,具体原理如下:

  • 普通Python字符串中,\是默认的转义字符,会和紧跟其后的字符组合成特殊转义序列,例如\n代表换行、\t代表制表符、\r代表回车、\u开头会被识别为Unicode编码前缀等。
  • Windows系统的文件路径默认用\作为路径分隔符,如果你直接写普通字符串形式的路径,例如"C:\users\dan\data\test.csv",Python解析时会自动把其中的\u、\d、\t等组合当做转义序列处理,最终得到的实际路径和你填写的原始路径完全不一致,自然会抛出文件不存在的报错。
  • 字符串前加的r是*原始字符串(Raw String)*标记,作用是告诉Python关闭转义解析,把字符串里的\直接当做普通字面量字符处理,你写的路径内容是什么样,Python解析后得到的就是什么样,自然就能正确识别到目标文件。

效果对比示例

普通字符串路径解析效果:

path = "C:\test\name.csv"
print(path)
# 输出结果:
# C:      est
# ame.csv

加r的原始字符串路径解析效果:

path = r"C:\test\name.csv"
print(path)
# 输出结果:C:\test\name.csv

同类替代方案

如果不想加r前缀,也可以用两种方式避免转义问题:

  • 把路径里的所有反斜杠\替换为正斜杠/:"C:/test/name.csv"
  • 把每个反斜杠都手动转义为双反斜杠\\:"C:\\test\\name.csv"

注意:原始字符串语法不允许以单个\结尾,属于Python固有语法限制,碰到该场景可以单独在末尾拼接"\\"处理。

内容的提问来源于stack exchange,提问作者danaran12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 14:27:01