当前位置: 首页 > 面试题库 >

如何获取所有Python标准库模块的列表

隆宏爽
2023-03-14
问题内容

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内部和外部)。


问题答案:

为什么不自己解决标准库的组成部分呢?

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需要避免使用非标准库模块。



 类似资料:
  • 问题内容: 我想要标准库中所有模块的列表。 至于关键字,我通过以下方法来获取它们: 对于内置函数: 如何将相同的操作应用于Python官方文档中的其他标准库名称。 问题答案: 不幸的是,没有stdlib方法来获取stdlib列表。但这有一个第三方模块。 接着: 它通过抓取Python的Sphinx文档来工作,因此非常可靠。请注意,对于不同版本的Python,标准库的内容正在更改,因此您可以在使用此

  • 问题内容: 我已经看到了很多人从一个模块中提取所有类的示例,通常是这样的: 太棒了 但是我无法找到如何从 当前 模块中获取所有类。 这可能确实很明显,但是我什么也找不到。谁能帮我吗? 问题答案: 尝试这个: 在您的情况下: 甚至更好: 因为带谓语。

  • 这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep可以取代操作系统特定的路径分割符。 下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。 os.name字符串指示你正在使用的平台。比如对于Windows,它是'

  • sys模块包含系统对应的功能。我们已经学习了sys.argv列表,它包含命令行参数。 命令行参数 例14.1 使用sys.argv #!/usr/bin/python # Filename: cat.py importsys defreadfile(filename):     '''Print a file to the standard output.'''     f =file(filen

  • Python 标准库中的 datetime 模块提供了和日期和时间相关的类: 类 功能 datetime.date 以年、月和日表示日历中的日期 datetime.time 以小时、分钟和秒表示一天中的时间 datetime.datetime 以年、月、日、小时、分钟和秒表示日期和时间 datetime.timedelta 表示一个时间段,即两个日期时间之间的差 1. datetime.date

  • JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的 javascript 规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 1. 概述 1.1 jso