/ 前言 /
我们在Python开发中时常需要读取配置文件、获取当前文件所在路径, 本文将会介绍Python获取当前目录/上级目录/上上级目录…等操作
Python脚本编译时使用的是Python3.x版本, Python2.x版本也可使用
/ 语法 /
-
get_path.py
: /Users/wise/PycharmProjects/deploy/get_path.py -
test.py
: /Users/wise/PycharmProjects/deploy/test
/test.pyget_path.py
# -*- coding: UTF-8 -*- import os def get_path_by_cwd (): print(os.getcwd()) get_path_by_cwd()
输出 : /Users/wise/PycharmProjects/deploy
test.py
# -*- coding: UTF-8 -*- import get_path # 调用get_path中的get_path_by_cwd()函数 get_path.get_path_by_cwd()
输出 : /Users/wise/PycharmProjects/deploy/
test
所以说
os.getcwd()
函数获取到的是调用该函数的项目路径
-
os.path.dirname()
获取当前文件所在的目录
import os print(os.path.dirname(__file__))
输出 : /Users/wise/PycharmProjects/deploy
-
os.path.abspath()
获取当前文件的绝对路径
# -*- coding: UTF-8 -*- import os print(os.path.abspath(__file__))
输出 : /Users/wise/PycharmProjects/deploy/
get_path.py
os.path.abspath()和os.path.dirname()一般都配合着一起使用
# -*- coding: UTF-8 -*- import os print(os.path.abspath(os.path.dirname(__file__)))
输出 : /Users/wise/PycharmProjects/deploy
-
os.path.join()
获取多个路径组合后的路径
# -*- coding: UTF-8 -*- import os print(os.path.join(os.path.dirname(__file__),'join_path'))
输出 : /Users/wise/PycharmProjects/deploy/join_path
注意 : os.path.join()会自动拼接
/
, 请不要在参数中开始的位置带/
否则将前面的参数全部删掉, 如下所示
# -*- coding: UTF-8 -*- import os print(os.path.join(os.path.dirname(__file__),'/join_path'))
输出 : /join_path
/ 实战操作 /
# -*- coding: UTF-8 -*-
import os
# 获取当前目录
print(os.getcwd())
print(os.path.dirname(__file__))
print(os.path.abspath(os.path.dirname(__file__)))
# 获取上级目录
print(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
print(os.path.abspath(os.path.dirname(os.getcwd())))
print(os.path.abspath(os.path.join(os.getcwd(), "..")))
# 获取上上级目录
print(os.path.abspath(os.path.join(os.getcwd(), "../..")))
# 获取上上上级目录
print(os.path.abspath(os.path.join(os.getcwd(), "../../..")))
# ...以此类推
输出
-------------获取当前目录-------------
/Users/wise/PycharmProjects/deploy
/Users/wise/PycharmProjects/deploy
/Users/wise/PycharmProjects/deploy
-------------获取上级目录-------------
/Users/wise/PycharmProjects
/Users/wise/PycharmProjects
/Users/wise/PycharmProjects
-------------获取上上级目录-------------
/Users/wise
-------------获取上上上级目录-------------
/Users