python 相对路径_P02绝对路径和相对路径

本地文件读写依赖文件路径,本节简单介绍下相对路径和绝对路径,只局限在本地路径,不涉及网络路径。

绝对路径

绝对路径就是以根目录为参照系的路径,根目录(windows下是盘符)是固定的,所以每个文件只有一个绝对路径。

Windows下文件夹的地址栏展示的就是当前文件夹的绝对路径,或者打开命令行工具(在地址栏输入cmd),将文件拖进去,命令行中会直接显示文件的绝对路径。

Mac同第二种方法,将文件拖入终端即可展示文件的绝对路径。

绝对路径的优点是很容易获得,且只要文件不移动,路径就不会改变。

它的问题在于:

  1. 文件夹嵌套层数多的时候,很容易变得非常长

  2. 文件位置变化时,其绝对路径也将相应变化。直接问题就是代码从一个电脑挪到另一个电脑时,绝对路径的变化可能导致数据访问失败。

相对路径

相对路径是以当前文件所在目录作为参照系。

举个例子:

a16ba7001f2cd2f13be4ed054cfa9b8e.png

A、C、E、data3.csv是层层嵌套关系。

默认情况下Jupyter Notebook的当前文件目录就是指当前代码脚本所在的文件夹。上述例子中的notebook.ipynb运行时当前文件目录实际就是A文件夹。

A文件夹下的文件C、D、data2.csv都是notebook.ipynb的同级文件,在notebook.ipynb中可以直接通过文件名访问到。要访问data2.csv,直接使用相对路径"data2.csv"。

"../"表示向上一层目录,比如notebook.ipynb要访问data1.csv,相对路径就是"../data1.csv"。如果还要再往上一层,就继续在路径前面加一个"../"。

当前路径向下一层则使用"/",比如notebook.ipynb要访问data3.csv,相对路径先找到C也就是"C",再找到E,即"C/E",最后到"C/E/data1.csv"。注意以"/"开头时在Linux和Mac表示根目录,就是绝对路径了。

相对路径的优势在于如果把代码和数据放在一个文件包里,无论这个文件包整体如何移动,代码和数据之间的相对路径都是不变的,当你打包传给别人也能正常运行。

补充一点,Python脚本可以直接改变当前文件目录,而不再是默认的脚本所在文件夹,新手不建议使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值