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

相关推荐
m0_59640637几秒前
mysql如何配置审计日志输出_mysql audit_log_format设置
jvm·数据库·python
byterun4 分钟前
LangChain4j 完整学习指南:从入门到企业级应用实战,看完这一篇你就是AI应用开发工程师
后端
2301_8166602110 分钟前
Bootstrap框架的最小宽度限制是多少
jvm·数据库·python
掘金者阿豪12 分钟前
为什么 LINUX DO 突然这么火?一个程序员拆解背后的5个互联网逻辑
后端
lwx5728019 分钟前
MySQL 数据库自动化备份脚本:从入门到生产实践
数据库·后端
水木流年追梦26 分钟前
CodeTop Top 300 热门题目2-最长回文子串
开发语言·人工智能·python·算法·leetcode
彭于晏Yan27 分钟前
Spring Boot整合WebSocket入门(一)
spring boot·后端·websocket
狗都不学爬虫_27 分钟前
小程序逆向 - Hai尔(AliV3拖动物品)
javascript·爬虫·python·网络爬虫
abc123456sdggfd37 分钟前
HTML5中Vuex持久化插件中WebStorage的底层配置
jvm·数据库·python
小龙Guo38 分钟前
Yolo 多任务推理,摄像头+视频实时推理,实现关键点、分割、检测等模型推理部署
python·yolo·关键点检测·模型推理