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

时间:2016-05-31 13:09:26

标签: python

假设我在不同的目录中有两个文件: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],但这只返回文件名而不是路径。

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

import inspect
import os

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

有关模块os.path

的更多信息