获取导入模块的路径
Get path of importing module
我有两个 python 文件:main.py 和 imported.py。我想将 imported.py 导入 main.py,但我想访问文件 imported.py 中 main.py 的路径。那就是我想访问导入模块的路径。例如:
#main.py
import imp
imported = imp.load_source('imported', "/absolute/path/to/imported.py")
#imported.py
pathToImportingModule=os.path.???
doSomethingWithPath(pathToImportingModule)
我不知道任何 "importing" 通知挂钩。
您可以通过显式调用导入模块的函数来实现一些类似的事情:
#main.py
import imp
import sys
import os
imported = imp.load_source('imported', "/absolute/path/to/imported.py")
imported.doSomething(os.path.abspath(sys.modules[__name__].__file__))
#imported.py
def doSomething(importing_path):
print ("Importing path: ", importing_path)
pass
从 ekhumoro 的评论中收到的解决方案:
#main.py
import imp
imported = imp.load_source('imported', "/absolute/path/to/imported.py")
#imported.py
pathToImportingModule=os.path.abspath(sys.modules['__main__'].__file__)
doSomethingWithPath(pathToImportingModule)
我有两个 python 文件:main.py 和 imported.py。我想将 imported.py 导入 main.py,但我想访问文件 imported.py 中 main.py 的路径。那就是我想访问导入模块的路径。例如:
#main.py
import imp
imported = imp.load_source('imported', "/absolute/path/to/imported.py")
#imported.py
pathToImportingModule=os.path.???
doSomethingWithPath(pathToImportingModule)
我不知道任何 "importing" 通知挂钩。 您可以通过显式调用导入模块的函数来实现一些类似的事情:
#main.py
import imp
import sys
import os
imported = imp.load_source('imported', "/absolute/path/to/imported.py")
imported.doSomething(os.path.abspath(sys.modules[__name__].__file__))
#imported.py
def doSomething(importing_path):
print ("Importing path: ", importing_path)
pass
从 ekhumoro 的评论中收到的解决方案:
#main.py
import imp
imported = imp.load_source('imported', "/absolute/path/to/imported.py")
#imported.py
pathToImportingModule=os.path.abspath(sys.modules['__main__'].__file__)
doSomethingWithPath(pathToImportingModule)