有Python文件a.py
和b.py
。b.py
在a.py
中由import b
导入。当a.py
运行时,如何获得b.py
中a.py
的绝对路径?
b.py
import os
import traceback
try: assert 0
except:
st = traceback.format_stack()
# format of st --> [' File "filename", line 1, in <module>n import bn', ... ... ]
relative_p = st[0].split(',')[0].split(' ')[-1].split('"')[1]
abs_path = os.path.abspath(relative_p)
print(abs_path)
# prints the importer's path, else if no importer, then itself's abs path
# rest of program goes here ...