如何解决如何获取所有Python标准库模块的列表
为什么不自己解决标准库的组成部分呢?
import distutils.sysconfig as sysconfig
import os
std_lib = sysconfig.get_python_lib(standard_lib=True)
for top, dirs, files in os.walk(std_lib):
for nm in files:
if nm != '__init__.py' and nm[-3:] == '.py':
print os.path.join(top, nm)[len(std_lib)+1:-3].replace(os.sep, '.')
给
abc
aifc
antigravity
--- a bunch of other files ----
xml.parsers.expat
xml.sax.expatreader
xml.sax.handler
xml.sax.saxutils
xml.sax.xmlreader
xml.sax._exceptions
您可能需要添加检查,以避免site-packages
需要避免使用非标准库模块。
解决方法
sys.builtin_module_names
除了标准库,我想要类似的东西。其他无效的东西:
sys.modules
-仅显示已加载的模块sys.prefix
-包含非标准库模块EDIT的路径,并且似乎在virtualenv中不起作用。
我想要此列表的原因是可以将其传递给http://docs.python.org/library/trace.html的--ignore-
module
或--ignore-dir
命令行选项trace
因此,最终,我想知道在使用trace
或时如何忽略所有标准库模块sys.settrace
。
编辑:我希望它在virtualenv内部工作。http://pypi.python.org/pypi/virtualenv
EDIT2:我希望它适用于所有环境(例如,跨操作系统,在virtualenv内部和外部)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。