Python脚本中常常需要目录间文件的互相调用,这里分别对获取当前目录路径和获取上级目录路径常用方法进行总结。
获取当前目录路径
1 2 3 4 5 6 7 8 9
| import os print(os.getcwd())
import sys print(sys.path[0])
import os print(os.path.abspath(os.path.dirname(__file__)))
|
获取上级目录路径
1 2 3 4 5 6 7 8 9 10 11 12
| 方式一:(推荐) import os print(os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))) 方式二:(推荐) import sys, os pwd = sys.path[0] print(os.path.abspath(os.path.join(pwd, os.pardir))) 方式三、四、五: import os print(os.path.abspath(os.path.dirname(os.getcwd()))) print(os.path.abspath(os.path.join(os.getcwd(), ".."))) print(os.path.abspath(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))
|
获取上上级目录路径
1 2 3 4 5 6
| 方式一:(推荐) import os print(os.path.abspath(os.path.join(os.getcwd(), "../.."))) 方式二:(推荐) import os print(os.path.abspath(os.path.join(os.getcwd(), '..', '..')))
|
获取上上上级目录路径
1 2 3
| 方式一:(推荐) import os print(os.path.abspath(os.path.join(os.getcwd(), '..', '..', '..')))
|
PS 解释:
1 2 3 4 5
| __file__:当前文件路径 os.path.dirname(file): 某个文件所在的目录路径 os.path.join(a, b, c,....): 路径构造 a/b/c os.path.abspath(path): 将path从相对路径转成绝对路径 os.pardir: Linux下相当于"../"
|