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