我想要 sys.builtin_module_names
之类的东西,但标准库除外。其他不起作用的事情:
sys.modules
- 只显示已经加载的模块sys.prefix
- 包含非标准库模块的路径,并且似乎在 virtualenv 中不起作用。
我想要这个列表的原因是我可以将它传递给 trace
的 --ignore-module
或 --ignore-dir
命令行选项.
所以最终,我想知道在使用 trace
或 sys.settrace
时如何忽略所有标准库模块。
最佳答案
我通过编写一些代码来抓取官方 Python 文档中标准库页面的 TOC 来强制它。我还构建了一个简单的 API,用于获取标准库列表(适用于 Python 版本 2.6、2.7、3.2、3.3 和 3.4)。
包裹是here ,而且它的用法也很简单:
>>> from stdlib_list import stdlib_list
>>> libraries = stdlib_list("2.7")
>>> libraries[:10]
['AL', 'BaseHTTPServer', 'Bastion', 'CGIHTTPServer', 'ColorPicker', 'ConfigParser', 'Cookie', 'DEVICE', 'DocXMLRPCServer', 'EasyDialogs']
关于python - 如何获取所有 Python 标准库模块的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6463918/