下面的路径介绍针对windows在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式:
open('aaa.txt') open('/data/bbb.txt') 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文件所处的文件时只要使用相对路径就行了,而要使用其他文件夹的则需使用绝对路径。
注:我们常用'/‘来表示相对路径,'\‘来表示绝对路径,上面的路径里\\是转义的意思,不懂的自行百度。
此外,网页网址和linux、unix系统下一般都用'/‘
当然我们也可以获得当前文件夹的绝对路径,如下:
import os path1=os.path.abspath('.') #表示当前所处的文件夹的绝对路径 path2=os.path.abspath('..') #表示当前所处的文件夹上一级文件夹的绝对路径
所以我们常设置一个path1的全局变量来表示当前的绝对路径,再加上相对路径来打开需要打开的文件,这么做是为了在不同的平台上不冲突,因为不同平台在相对路径上的表示上存在区别。
知识点扩展:
1、绝对路径
os.path.abspath("文件名"):
显示的是一个文件的绝对路劲
> import os > os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb") > os.listdir() ['settings.py', 'urls.py', 'wsgi.py', '__init__.py', '__pycache__'] > os.path.abspath("settings.py") 'E:\\PycharmProjects\\odycmdb\\odycmdb\\settings.py'
2、相对路径
os.path.dirname("文件名"):
显示的是一个文件的相对路径
> import os > os.chdir("E:\\PycharmProjects\\odycmdb\\odycmdb") > os.listdir() ['settings.py', 'urls.py', 'wsgi.py', '__init__.py', '__pycache__'] > os.path.dirname("settings.py")