🐍 Python 在 Windows 环境下的文件路径问题

在 Python 程序中,我们经常需要对文件进行操作。在 Windows 下,文件目录路径使用反斜杠"\"来分隔。然而,在 Python 代码中,反斜杠"\"是转义符,例如"\n"表示换行符、"\t"表示制表符。这样,如果继续使用"\"表示文件路径,就会产生歧义。

❓ 示例问题

例如:

python 复制代码
path = "c:\test.txt"

这个路径表示的是 C 盘根目录下的一个文件,还是表示一个字符串呢?因为"\t"也可以解释为制表符。如果让我们人来判断,这当然是一个很简单的问题。但是机器无法做出正确的判断,只有没有歧义的代码机器才会正确执行。

💡 解决办法

采用下面任何一种书写形式均可:

  1. 使用斜杠"/" (推荐)

    python 复制代码
    path = "c:/test.txt"

    这样就没有歧义了。

  2. 将反斜杠符号转义

    python 复制代码
    path = "c:\\test.txt"

    因为反斜杠是转义符,所以两个"\"表示一个反斜杠符号。

  3. 使用 Python 的 raw string

    python 复制代码
    path = r"c:\test.txt"

    在字符串前面加上字母"r",表示后面是一个原始字符串(raw string)。不过 raw string 主要是为正则表达式设计的,而不是 Windows 路径,所以这种做法尽量少用,可能会出问题。

相关推荐
刘永鑫Adam1 分钟前
Nature Methods | 诸奇赟组-Scikit-bio:用于生物组学数据分析的基础Python库
人工智能·python·算法·机器学习·数据分析
CodeSheep1 分钟前
公司开始严查午休…
前端·后端·程序员
superman超哥2 分钟前
仓颉内存管理内功:栈与堆的分配策略深度解析
c语言·开发语言·c++·python·仓颉
天呐草莓9 分钟前
企业微信自动打标签教程
大数据·python·微信·微信小程序·小程序·企业微信
黑蛋同志11 分钟前
使用 pyenv 在Ubuntu 20 上安装 Python 3.10
chrome·python·ubuntu
大数据追光猿11 分钟前
【Agent】高可用智能 Agent:记忆机制设计与性能优化实战
人工智能·python·langchain·大模型·agent
言之。17 分钟前
Django流式响应
后端·python·django
qq_4308558818 分钟前
线代第三章向量第一节:n维向量及其运算
python·决策树·机器学习
小鸡吃米…20 分钟前
基于Python监督学习的人工智能:分类
人工智能·python·学习
一代明君Kevin学长23 分钟前
RAG中的上下文压缩(Contextual Compression)
人工智能·python·深度学习·ai·大模型·检索增强·rag