1、绝对路径

 os.path.abspath("文件名"):

显示的是一个文件的绝对路劲

eg:

?
1
2
3
4
5
6
>>> 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("文件名"):

显示的是一个文件的相对路径

eg:

?
1
2
3
4
5
6
>>> import os
>>> os.chdir( "E:\\PycharmProjects\\odycmdb\\odycmdb" )
>>> os.listdir()
[ 'settings.py' , 'urls.py' , 'wsgi.py' , '__init__.py' , '__pycache__' ]
>>> os.path.dirname( "settings.py" )
''

 3、总结

一般情况下,绝对路劲函数和相对路径函数是结合起来用的,特别是在多个文件包之前相互导入

①os.path.dirname(os.path.abspath("文件名")): 表示获取当前文件夹的所在的目录

eg:

?
1
2
3
4
5
6
7
8
>>> 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'
>>> os.path.dirname(os.path.abspath( "settings.py" ))
'E:\\PycharmProjects\\odycmdb\\odycmdb'

②os.path.dirname(os.path.dirname(os.path.abspath("文件名"))): 表示获取当前文件夹上一层目录

eg:

?
1
2
3
4
5
6
7
8
>>> 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'
>>> os.path.dirname(os.path.dirname(os.path.abspath( "settings.py" )))
'E:\\PycharmProjects\\odycmdb'
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐