欢迎访问宙启技术站
智能推送

使用Python编写自定义函数fetch_package_version()获取软件包版本

发布时间:2023-12-24 21:40:46

下面是我为您编写的fetch_package_version()函数的Python代码,该函数可用于获取软件包的版本信息。同时,我也提供了一个使用示例来演示该函数的使用方法。

import subprocess
import re

def fetch_package_version(package_name):
    try:
        # 使用subprocess模块运行命令"pip show <package_name>"来获取软件包的详细信息
        result = subprocess.check_output(['pip', 'show', package_name]).decode('utf-8')
        
        # 使用正则表达式匹配版本号(Version)的行
        version_line = re.search(r'Version: (.+)', result).group(0)
        
        # 提取版本号
        version = re.search(r'\d+\.\d+\.\d+', version_line).group(0)
        
        return version
    except (subprocess.CalledProcessError, AttributeError):
        # 若软件包不存在或获取版本号失败,则返回None
        return None

下面是该函数的使用示例:

# 获取软件包requests的版本号
version = fetch_package_version('requests')

# 输出版本号
if version:
    print(f"The version of 'requests' package is: {version}")
else:
    print("Failed to obtain the version of 'requests' package.")

请确保您已经安装了requests软件包,然后运行上述代码,将会输出类似以下内容的结果:

The version of 'requests' package is: 2.25.1

如果获取版本号失败,则会输出以下内容:

Failed to obtain the version of 'requests' package.

请确保您在运行上述代码时具备适当的权限,并已连接到Internet。此外,您还可以更换package_name参数的值来获取其他软件包的版本号。

希望这个代码对您有所帮助!