如果使用setuptools安装python包,然后从标准python脚本执行该包中的方法,是否可以获得调用/执行文件的文件路径?
例如,我正在执行的文件是/usr/foo/bar.py,它看起来像这样:
import baz
baz.get_current_path()
# should print /usr/foo/bar.pybaz包是使用setuptools安装的,它位于一个神奇的地方,所有的python包都是在它们是好的小包的时候安装的。
__file__和import inspect; inspect.currentframe().f_code.co_filename都返回包文件的路径。
这个是可能的吗?
发布于 2009-12-14 23:16:28
使用inspect.getouterframes()或inspect.stack(),然后从调用帧中获取文件名。
https://stackoverflow.com/questions/1901407
复制相似问题