当前位置:首页>python>Python获取Steam平台安装游戏信息

Python获取Steam平台安装游戏信息

  • 2026-10-11 08:43:08
Python获取Steam平台安装游戏信息

如何在 Windows 上自动发现 Steam 安装路径,并枚举所有已安装游戏呢?

  • 通过注册表定位 Steam
  • 解析 VDF 配置
  • 扫描 manifest 文件
  • 构建结构化游戏数据。

项目整体架构(Architecture)

架构图

架构设计

分层职责

层级
职责
输入层
提供系统数据来源(注册表 + 配置文件 + manifest)
解析与发现层
将“系统信息”转化为“可遍历路径”
核心逻辑层
扫描并提取游戏信息
输出层
提供统一结构的数据

模块协作逻辑

  1. 路径发现(注册表)→ 获取 Steam 根目录
  2. 库发现(VDF)→ 找到所有游戏库路径(多盘支持)
  3. 游戏扫描(ACF)→ 遍历每个库中的 manifest
  4. 信息提取→ 构建统一数据结构

核心流程

流程图


配置 / 输入

输入来源抽象

注册表 → 安装路径VDF     → 库路径列表ACF     → 游戏元数据

数据结构设计

games = {    appid: {"name": str,"path": str,"size": int,    }}

设计

  • 使用 dict:
    • O(1) 查询
    • 易序列化(JSON)
  • 以 appid 为 key:
    • 全局唯一
    • 与 Steam 生态一致

VDF 解析器

解析流程

手动解析原因

原因
说明
VDF 非标准格式
无法直接 JSON.parse
嵌套结构
需手动解析
可复用性
可用于所有 Steam 配置

游戏扫描核心逻辑:

for lib in libraries:for manifest in steamapps:        parse(manifest)        extract(game_info)

运行 / 验证

1. 运行环境

  • Windows
  • Python 3.x

2. 运行

python steam_helper.py

或在代码中调用:

from steam_helper import get_installed_gamesgames = get_installed_games()print(games)

3. 示例输出

{"570": {"name": "Dota 2","path": "D:\\SteamLibrary\\steamapps\\common\\dota 2 beta","size": 25000000000  }}

最新文章

随机文章