有沒有辦法找出哪個文件正在調用一個函數? (類似os.path.basename(__file__)
)如何在Python中獲取模塊的名稱,調用特定的函數。
程序結構:
module
包含了相關功能
別的地方的程序:
import modulex as mx
mx.function(arg1,arg2)
我需要一個通用的函數來告訴我'程序中的其他地方'是什麼文件。
有沒有辦法找出哪個文件正在調用一個函數? (類似os.path.basename(__file__)
)如何在Python中獲取模塊的名稱,調用特定的函數。
程序結構:
module
包含了相關功能別的地方的程序:
import modulex as mx
mx.function(arg1,arg2)
我需要一個通用的函數來告訴我'程序中的其他地方'是什麼文件。
您可以嘗試追蹤模塊:
import traceback
currentStack=traceback.extract_stack()
currentStack變量將舉行從那裏當前文件名列表代碼被調用。
如果您的行爲取決於調用該函數的文件,那麼您可能應該向該函數傳遞一個額外的參數,表示它?
在python中,顯式解決方案被認爲是最好的 - 具有取決於調用者的行爲並不明確。
如果你真的有很好的理由需要這個,你可能想看看進入traceback
module