使用Python获取应用程序版本
软件版本控制可能是由于对PC软件包的独特状态进行推理,因为它是开发和发布的。版本符号通常是一个词、一个数字或两者兼而有之。例如,版本 1.0 通常习惯于表示程序的初始 unharness。在本文中,我们将看到如何使用Python获取应用程序版本号。
方法一:这里会用到win32api模块。
适用于 Microsoft Windows 的Python扩展 提供对大量 Win32 API 的访问、创建和使用 COM 对象的灵活性,以及 Pythonwin 氛围。
在开始之前,我们需要安装模块
pip install pywin32
这里我们将使用这些方法:
- GetFileVersionInfo:此方法用于检索给定文件的版本信息
GetFileVersionInfo(File Path, SubBlock, **attr)
- LOWORD: win32api LOWORD 宏的接口。值为整数数据类型
LOWORD(val)
- HIWORD: win32api HIWORD 宏的接口。值为整数数据类型
HIWORD(val)
方法:
- 首先我们将使用 GetFileVersionInfo() 方法解析文件信息。
- 文件信息是字典的形式,我们会获取两个信息,一个是msfileversion,另一个是lsfileversion
下面是实现:
Python3
# Import Module
from win32api import *
def get_version_number(file_path):
File_information = GetFileVersionInfo(file_path, "\\")
ms_file_version = File_information['FileVersionMS']
ls_file_version = File_information['FileVersionLS']
return [str(HIWORD(ms_file_version)), str(LOWORD(ms_file_version)),
str(HIWORD(ls_file_version)), str(LOWORD(ls_file_version))]
file_path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
version = ".".join(get_version_number(file_path))
print(version)
Python3
# Import Module
from win32com.client import *
def get_version_number(file_path):
information_parser = Dispatch("Scripting.FileSystemObject")
version = information_parser.GetFileVersion(file_path)
return version
file_path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
version = get_version_number(file_path)
print(version)
输出:
88.0.4324.104
方法二:使用win32com
这里将使用 win32com 模块。在开始之前,我们需要安装模块
pip install pypiwin32
方法:
- 我们将创建一个信息解析器,它将使用 Dispatch() 方法解析所需的信息。
- 然后我们将使用 GetFileVersion() 方法获取文件版本。
下面是实现:
蟒蛇3
# Import Module
from win32com.client import *
def get_version_number(file_path):
information_parser = Dispatch("Scripting.FileSystemObject")
version = information_parser.GetFileVersion(file_path)
return version
file_path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
version = get_version_number(file_path)
print(version)
输出:
88.0.4324.104