假设我在不同的目录中有两个文件: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__)