用于解析最常见的steam文件格式的python库。
steamfiles的Python项目详细描述
用于分析最常见的steam文件格式的python库。
库有一个熟悉的类似json的接口:load()/loads()用于加载数据,
和dump()/dumps(),用于将数据保存回文件。
格式支持
Read | Write | |
acf | + | + |
appinfo.vdf | + | + |
Manifest | + | + |
快速启动
蒸汽文件需要python 3.3+
安装最新的稳定版本:
pip install steamfiles
导入所需格式的模块:
# Use one of these, or all at once! from steamfiles import acf from steamfiles import appinfo from steamfiles import manifest
轻松加载数据、修改数据并转储回:
with open('appinfo.vdf', 'rb') as f: data = appinfo.load(f) # Calculate the total size of all apps. total_size = sum(app['size'] for app in data.values()) print(total_size) # Downgrade a change number for all apps. for app in data.values(): app['change_number'] -= 1 with open('new_appinfo.vdf', 'wb') as f: appinfo.dump(data, f)
注意:默认情况下,所有格式都被解析为dict,因此数据的顺序很可能不相同。 由于我不确定STEAM和相关工具如何处理重新排列的数据,如果您打算写回数据并稍后使用,请将ordereddict类传递给包装器参数:
from collection import OrderedDict data = acf.load(f, wrapper=OrderedDict) # works with other formats as well
待办事项
- [530]ACF支持
- [530]appinfo.vdf支持(二进制vdf)
- [530]清单支持
- [?]packageinfo.vdf(另一个二进制vdf)
- [?]用户游戏统计(成就)
- [?]文本VDF文件(它们实际上是ACF?)