繁体   English   中英

Python-检查模块可用性的实用程序

[英]Python - utility program to check module availability

是否存在一个命令行(最好是)实用程序,该实用程序列出了与该版本库中的特定模块捆绑在一起的所有major python版本?

例如json模块仅在2.6+版本中可用

因此,运行此实用程序应列出:

2.6
2.7
.. and the 3.x versions

没有这样的内置命令。

如果没有网络连接问题,您可以简单地在https://docs.python.org/<version-number>/library/<module-name>.html / library / <模块名称> .html上检查网址:

from urllib.request import urlopen
from urllib.error import HTTPError


def has_module(version, module_name):
    try:
        urlopen('https://docs.python.org/{}/library/{}.html'.format(version, module_name))
    except HTTPError as e:
        if e.code == 404:
            return False
        raise e
    return True

用法示例:

In [2]: has_module('2.7', 'asyncio')
Out[2]: False

In [3]: has_module('3.3', 'asyncio')
Out[3]: False

In [4]: has_module('3.4', 'asyncio')
Out[4]: True

必须在python3中运行,但是python2版本并不难编写。

如果您要使用离线工具,则始终可以解析页面https://docs.python.org/<version-number>/library/index.html并获取该python版本的模块页面列表,然后仅构建dict将python版本映射到可用模块集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM