1
因此,作为一个笑话我写了一个用于python的goto版本,我想用它作为一个库。我为它写的功能如下。是否有__file__版本在函数中使用时,将获得使用该库的文件的名称?
def goto(loc):
exec(open(__file__).read().split("# "+str(loc))[1],globals())
quit()
这适用于情况下,它是第一个使用goto语句在文件中,像这样的:
def goto(loc):
exec(open(__file__).read().split("# "+str(loc))[1],globals())
quit()
# hi
print("test")
goto("hi")
但是,如果我在另一个文件中导入跳转,它不作为
工作__file__
总是返回与它的功能,而不是它是用在一个文件,是否有文件的等效,让我来导入与它转到功能的文件就了事?
不能打扰发布答案,但是 - 你必须在调用堆栈中挖掘周围,开始查找'inspect.currentframe().f_back' – wim