python--相对路径vs绝对路径详解(/ , \,~/)

"本文介绍了Python中相对路径和绝对路径的区别,如何使用相对路径和绝对路径打开文件,并演示了如何获取项目当前路径。重点讲解了使用’/‘和’‘的区别,以及利用os库获取当前目录和上一级目录的方法。"

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自博客:https://www.cnblogs.com/lesleysbw/p/5893918.html

1. 相对路径与绝对路径

对于.py文件中以下三种路径表示方式:

1 open(‘aaa.txt’)
2 open(’/data/bbb.txt’)
3 open(‘D:\user\ccc.txt’)

前两种是相对路径,后一种是绝对路径。

绝对路径比较好理解,就是最完整的路径,相对路径的相对则是不完整路径,这个相对指的就是相对于当前文件夹路径,其实就是你编写的这个py文件所放的文件夹路径!也就是说你写的相对路径必须是当前文件夹A里的文件a或者A里的文件夹B里的文件才可以open。

假设当前的py文件夹所处的位置是:D:\user\public

那么三行代码打开的文件所属的路径分别是:

D:\user\public\aaa.txt

D:\user\public\data\bbb.txt

D:\user\private\ccc.txt

很好理解就是当要打开py文件所处的文件时只要使用相对路径就行了,而要使用其他文件夹的则需使用绝对路径。

我们常用’/‘来表示相对路径,’\‘来表示绝对路径,上面的路径里\是转义的意思

当然我们也可以获得当前文件夹的绝对路径,如下:

import os
path1=os.path.abspath('.')   #表示当前所处的文件夹的绝对路径
path2=os.path.abspath('..')  #表示当前所处的文件夹上一级文件夹的绝对路径

所以我们常设置一个path1的全局变量来表示当前的绝对路径,再加上相对路径来打开需要打开的文件,这么做是为了在不同的平台上不冲突,因为不同平台在相对路径上的表示上存在区别。

2.使用“…/”来表示上一级目录,“…/…/”表示上上级的目录,以此类推

在这里插入图片描述
截图来源:https://blog.csdn.net/hgd613/article/details/8041662

补充:
“~”表示Web 应用程序根目录,“/”也是表示根目录,“…/”表示当前目录的上一级目录,“./”表示当前目录

假设你的用户名是x,那么~/就是C:\Users\x

.是代表此目录本身,但是一般可以不写

所以 ~/. 和 ~ 和 ~/效果是一样的

3. 获取项目的当前路径:

def get_project_dir():
    try:
        project_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
        print("The project_dir is :", project_dir)
        return project_dir
    except:
        print("Cannot find the project directory")

get_project_dir()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值