大爽Python入门教程 5-4 文件路径之相对路径与绝对路径
大爽Python入门公开课教案 点击查看教程总目录
本章第三节 文件读写中的
open(file, mode)
中的file
,严格来讲是文件路径,而不只是文件名。
一般来讲,尽量保证代码文件,和要读取的文件在同一文件夹下。
因为此时代码里面读取文件,文件路径可以直接使用文件名(带后缀名的)。
如果文件和代码不在一文件夹下,就相对比较麻烦。
假设要读取的文件叫做001.txt
,之后简称文件
代码文件叫demo5.py
,之后简称代码
以下分情况讨论,
1 相对路径
当文件和代码的相对关系固定时,可以使用相对路径。
文件上级文件夹和代码平级
如下所示
root
|---demo5.py
|---text
|---001.txt
此时代码里面读取文件
file
应该写为text/001.txt
进一步地,如果文件上级文件夹的上级文件夹和代码平级。
如下所示
root
|---demo5.py
|---files
|---text
|---001.txt
此时代码里面读取文件
file
应该写为files/text/001.txt
此情况衍生情况同理
代码上级文件夹和文件平级
如下所示
root
|---001.txt
|---codes
|---demo5.py
此时代码里面读取文件
file
应该写为../001.txt
进一步地,如果代码上级文件夹的上级文件夹和文件平级。
如下所示
root
|---001.txt
|---codes
|---simple
|---demo5.py
此时代码里面读取文件
file
应该写为../../001.txt
此情况衍生情况同理
复合情况
此时使用上面两种语法,联合处理。
比如代码上级文件夹和文件的上级文件夹平级。
如下
root
|---text
|---001.txt
|---codes
|---demo5.py
此时代码里面读取文件
file
应该写为../text/001.txt
绝对路径
文件位置本身基本不发生变化的时候,可以使用绝对路径。
比如假设计算机的D
盘里有一个projects
文件夹,
projects
文件夹下有一个lesson5
文件夹,
lesson5
文件夹下有一个001.txt
文件。
此时001.txt
的绝对路径为
D://projects/lesso5/001.txt
补充,硬盘下面文件夹的绝对路径写法为:
硬盘名 + ://
+ 文件夹名
对比
绝对路径也可称完整路径,是指向文件系统中某个固定位置的路径,不会因当前的工作目录而产生变化。为做到这点,它必须包括根目录。
相对路径则是以指定的工作目录作为基点,避开提供完整的绝对路径。文件名称就可以被视为以指定工作目录为基点的一个相对路径(虽然一般不将其称之为路径)。