📖 知识点
什么是相对路径
相对路径:以当前代码文件所在的文件夹为起点,去找目标文件。
当前工作目录:运行这个 python 脚本时,所在的文件夹。
同目录(代码和文件放一起)
"message.txt"等价于"./message.txt".代表当前文件夹子文件夹(文件夹内的文件)假设新建文件夹
data,里面放log.txt相对路径写法:"data/log.txt"上层文件夹
../代表上一级文件夹"../note.txt"→ 去代码所在文件夹的上一层找 note.txt
区分:
相对路径:从当前脚本位置出发,简洁、项目迁移时不容易崩,项目开发首选
绝对路径:完整完整地址(如 C:/xxx/xxx.txt),换电脑就失效,练习尽量少用
示例 1:读取同目录文件
with open("message.txt","r",encoding="utf-8") as f:
print(f.read())
示例 2:读取子文件夹 data 里面的文件
with open("data/log.txt","r",encoding="utf-8") as f:
print(f.read())
⚠️ 重点提醒
Windows 系统路径分隔符可以用
/,不要直接用\(\在字符串是转义字符,容易出错)如果相对路径报错
FileNotFoundError:代表当前目录下找不到这个文件,检查文件存放位置
⚔️ Kata 实战任务
任务需求:
在代码所在文件夹,手动新建文件夹,命名
data在 data 文件夹内新建文件
record.txt,写入文字:藏经篇 · 相对路径练习使用 with + 相对路径,r 模式打开
data/record.txt,utf-8 编码read 读取全部内容并打印
参考代码
# 相对路径:当前目录下 data文件夹里的 record.txt
with open("data/record.txt", "r", encoding="utf-8") as f:
content = f.read()
print("读取内容:")
print(content)
运行输出:
读取内容:
藏经篇 · 相对路径练习
🧠 思考题
.和../分别代表什么?相对路径和绝对路径,哪个更适合我们写 Python 项目?为什么?