🐍 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 路径,所以这种做法尽量少用,可能会出问题。

相关推荐
程序员三藏7 小时前
Jmeter自动化测试
自动化测试·软件测试·python·测试工具·jmeter·测试用例·接口测试
吴佳浩9 小时前
Langchain 浅出
python·langchain·llm
smj2302_796826529 小时前
解决leetcode第3753题范围内总波动值II
python·算法·leetcode
爱吃牛肉的大老虎9 小时前
网络传输架构之GraphQL讲解
后端·架构·graphql
mortimer10 小时前
破局视频翻译【最后一公里】––从语音克隆到口型对齐的完整工程思路
python·github·aigc
稚辉君.MCA_P8_Java11 小时前
Gemini永久会员 containerd部署java项目 kubernetes集群
后端·spring cloud·云原生·容器·kubernetes
yihuiComeOn12 小时前
[源码系列:手写Spring] AOP第二节:JDK动态代理 - 当AOP遇见动态代理的浪漫邂逅
java·后端·spring
门框研究员12 小时前
解锁Python的强大能力:深入理解描述符
python
e***716713 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
程序猿小蒜13 小时前
基于springboot的的学生干部管理系统开发与设计
java·前端·spring boot·后端·spring