一、什么是绝对路径
大家都知道,在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径,例如只要看到这个路径:c:/website/img/photo.jpg我们就知道photo.jpg文件是在c盘的website目录下的img子目录中。类似于这样完整的描述文件位置的路径就是绝对路径。我们不需要知道其他任何信息就可以根据绝对路径判断出文件的位置。
二、什么是相对路径
相对路径是指以当前文件资源所在的目录为参照基础,链接到目标文件资源(或文件夹)的路径。假设,我们在一个A文件(比如a.html)中,链接另一个B文件(比如b.html),也可以说是,当前文件A引用目标文件B,那么,相对路径就是以当前文件A所在的目录为参照基础,建立连接到目标文件B的路径;改变当前文件A或目标文件B的目录,也就是说,把A或B放到不同的文件夹中,A和B的相对路径也会不同,所以,改变A或B的目录,它们之间的相对路径也会跟着发生变化!
三、相对路径特殊符号
在表示相对路径中,单点表示当前目录,双点表示上一级目录,反斜杠“/”表示分隔目录;
使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推。
相对路径特殊符号有以下几种表示意义:
◆以“./”开头,代表当前目录和文件目录在同一个目录里,“./”也可以省略不写!
◆以"../"开头:向上走一级,代表目标文件在当前文件所在的上一级目录;
◆以"../../"开头:向上走两级,代表父级的父级目录,也就是上上级目录,再说明白点,就是上一级目录的上一级目录
◆以"/”开头,代表根目录
四、举例
例1:
c:/website/web/index.htm
c:/website/img/photo.jpg
在此例中index.htm中联接的photo.jpg应该怎样表示呢?
错误写法:img/photo.jpg
这种写法是不正确的,在此例中,对于index.htm文件来说img/photo.jpg所代表的绝对路径是:c:/website/web/img/photo.jpg,显然不符合要求。
正确写法:使用../img/photo.jpg的相对路径来定位文件
例2:
c:/website/web/xz/index.htm
c:/website/img/images/photo.jpg
在此例中index.htm中联接的photo.jpg应该怎样表示呢?
错误写法:../img/images/photo.jpg
这种写法是不正确的,在此例中对于index.htm文件来说../img/images/photo.jpg所代表的绝对路径是:c:/website/web/img/images/photo.jpg。
正确写法:可以使用../../img/images/photo.jpg的相对路径来定位文件
例3:
c:/website/web/xz/index.htm
c:/website/web/img/photo.jpg
在此例中index.htm中联接的photo.jpg应该怎样表示呢?
错误写法:../../img/photo.jpg
这种写法是不正确的,在此例中对于index.htm文件来说../../img/photo.jpg所代表的绝对路径是:c:/website/img/photo.jpg。
正确写法:可以使用../img/photo.jpg的相对路径来定位文件
通过以上的例子可以发现,**在把绝对路径转化为相对路径的时候,两个文件绝对路径中相同的部分都可以忽略,不做考虑。只要考虑他们不同之处就可以了。总之一句话就是,先用点点倒着回退到相同的目录下,然后再正着去找另外一个文件就对了。**
五、总结
绝对路径,从根目录为起点到某一个目录的路径;
相对路径,从一个目录为起点到另外一个的目录的路径。
例如:
┍ A文件夹
C -|
┕ B文件夹
绝对路径: C:\A文件夹
相对路径(如果你在A文件夹时): ..\B文件夹 (‘..\’向上一级意思)
六、更图文并茂的举例
https://www.cnblogs.com/jgg54335/p/14787211.html
七、Tips
一个更简便的小方法:在pycharm里面可以直接复制需要的绝对路径或相对路径