我有导入app.py
的文件module.py
。我需要找出app.py
的路径,例如:/home/user/app/app.py
,它在同一个文件夹中工作正常,但是当我从另一个文件夹中调用app.py
时,我当前的目录是{{ 1}}我获取当前目录而不是/home/user
所在的目录。
这是module.py的内容。
app.py
< - 这将返回我的工作路径
os.getcwd()
< - 这将返回模块路径
最佳方法是什么?我有点陷入困境,并没有在谷歌上发现任何关于它的事情。
答案 0 :(得分:0)
Use the following lines of code in the module you are importing:
Module.py
import inspect
# Return the frame object for the caller's stack frame.
frame = inspect.currentframe()
# Get calling rame from list of all call frames.
calling_frame = inspect.getouterframes(frame)[1][0]
#Prints a traceback tuple.
print inspect.getframeinfo(calling_frame)
Also, there is one more hack that you can try. I won't suggest it for production code but its just for fun :) :
1. Generate the exception in your module.
2. Catch it and find the Traceback.
3. Manipulate the Traceback according to you requirement.