获取调用方文件的绝对路径



假设我在不同的目录中有两个文件:1.py(例如,在C:/FIRST_FOLDER/1.py中)和2.py(例如,在C:/SECOND_FOLDER/2.py中)。

文件1.py导入2.py(使用sys.path.insert(0, #path_of_2.py)后面,显然是import 2),并调用2.py中的一个函数,它调用的函数需要知道1.py的绝对路径(它在同一目录中查找文件)。

我知道有inspect.stack()[1]但这只返回文件名而不是路径。

关于如何实现这一点的任何想法?

import inspect
import os
abs_path = os.path.abspath((inspect.stack()[0])[1])
directory_of_1py = os.path.dirname(abs_path)

有关模块 OS.path 的更多信息

要返回 python 文件的绝对路径,请使用 python 的 __file__ 属性:

import os
path = os.path.abspath(__file__)

最新更新