对于导入的模块,是否可以获取导入模块(名称)?我想知道是否检查是否可以实现它?是否有可能在Python中的“导入模块”中获得“导入模块”?
2
A
回答
2
foo.py:
进口酒吧
bar.py:
import traceback
try:
filename,line_number,function_name,text = traceback.extract_stack()[-2]
print(filename,line_number,function_name,text)
except IndexError:
pass
运行foo.py收益率类似
('/home/unutbu/pybin/foo.py', 4, '<module>', 'import bar')
3
这听起来像你解决了你自己的问题:使用inspect
模块。我会遍历堆栈,直到找到当前函数不是__import__
的框架。但我敢打赌,如果你告诉人们你为什么要这样做,他们会告诉你不要。
3
即使你得到它的工作,这可能比你想象的有用,因为随后的导入只复制现有的引用,而不是再次执行模块。
1
import inspect
result = filter(lambda v:inspect.ismodule(v), globals().values())
#result is a collection of all imported modules in the file, the name of any of which can be easily got by .__name__
#replace globals() with inspect.getmembers(wanted_module) if you want the result outside the wanted module
相关问题
- 1. 是否有可能使所有模块隐式导入模块?
- 2. Python是否将模块路径中的所有模块导入?
- 3. 在Python中导入模块
- 4. 在Python中导入模块
- 5. 在Python中导入模块
- 6. 是否有可能在JavaScript中迭代导入的模块?
- 7. 从导入模块的模块中导入功能
- 8. 导入导入主模块的模块
- 9. Python模块导入*
- 10. Python模块导入
- 11. 导入Python模块
- 12. Python导入模块
- 13. python导入模块
- 14. 有导入Python模块
- 15. Python:从导入的模块中获取导入模块的详细信息
- 16. 的Python:模块的导入模块
- 17. python模块是否被导入两次?
- 18. Python:已导入的导入模块
- 19. Python导入模块,所有导入另一个模块是相同的
- 20. 是否有理由在Python中导入字符串模块?
- 21. 在Python中嘲笑导入的模块
- 22. 的Python - 导入模块
- 23. Python子模块:“导入为”与“导入”
- 24. Python导入模块vs导入_module
- 25. 为什么导入python模块不导入嵌套模块?
- 26. 未能导入模块在python
- 27. 在Angular2中导入模块
- 28. 在模块中导入类
- 29. 在模块中导入android.bluetooth.BluetoothDevice
- 30. 在D中导入模块
这应该可能是一个评论,但是重要的信息。 – 2012-02-02 03:52:28
@Karl:尽管它可以被看作是一个评论,但它在回答“否”的问题上做得很好。 – 2012-02-02 04:10:22
想知道“不建议这样做”背后的原因。我想要做的是提供一个函数** deprecatedModule(new_module)**用于不推荐的模块。 – Drake 2012-02-02 16:17:41