You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Python脚本文件的绝对目录路径而非当前工作目录

获取Python脚本文件的绝对目录路径,而非当前工作目录

问题场景

假设app.py位于/home/user/coding/python/目录下,原代码用os.getcwd()获取当前工作目录:

# app.py
import os
print(os.getcwd())
  • 在脚本所在目录执行python app.py,输出脚本目录;但切换到/home/user/执行python '/home/user/coding/python/app.py'时,输出的是当前工作目录/home/user,而非脚本所在目录。

解决方案

要获取脚本本身的绝对目录,需要利用Python内置的__file__变量,结合路径处理模块实现:

方法1:使用os.path模块(兼容Python2和Python3)

修改app.py代码如下:

# app.py
import os
# 先获取脚本的绝对路径
script_abs_path = os.path.abspath(__file__)
# 再提取脚本所在的目录
script_dir = os.path.dirname(script_abs_path)
print(script_dir)

方法2:使用pathlib模块(Python3.4+推荐)

pathlib提供了更直观的面向对象路径操作:

# app.py
from pathlib import Path
# resolve() 转为绝对路径,parent 获取父目录(即脚本所在目录)
script_dir = Path(__file__).resolve().parent
print(script_dir)

测试验证

无论在哪个目录执行脚本:

  • 在/home/user/coding/python/下执行python app.py,输出/home/user/coding/python/
  • 在/home/user/下执行python '/home/user/coding/python/app.py',输出同样为/home/user/coding/python/

内容的提问来源于stack exchange,提问作者Shezan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:45:32