用于解析最常见的steam文件格式的python库。

steamfiles的Python项目详细描述


Latest versionTravis-CICoverage
用于分析最常见的steam文件格式的python库。
库有一个熟悉的类似json的接口:load()/loads()用于加载数据,
dump()/dumps(),用于将数据保存回文件。

格式支持

ReadWrite
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

文档

ACF format overview

更多正在进行中…

待办事项

  • [530]ACF支持
  • [530]appinfo.vdf支持(二进制vdf)
  • [530]清单支持
  • [?]packageinfo.vdf(另一个二进制vdf)
  • [?]用户游戏统计(成就)
  • [?]文本VDF文件(它们实际上是ACF?)

许可证

蒸汽文件是根据麻省理工学院的许可条款分发的。

有关详细信息,请参阅捆绑的LICENSE文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用于批量操作的java RESTful API分块响应   java读取在线存储的文本文件   在Java ME中将双精度舍入到小数点后5位   java查找一个数字的最接近因子   java更改JMenuBar的字体   java Kmeans聚类算法运行时间和复杂性   java是否可以阻止try catch返回null   java内容解析器指向具有正确URI的错误表   java Android Kotlin插装测试未被识别为插装测试   java TestNG@Dataprovider   在forloop和print语句中声明变量时发生java错误   java在Android Studio 3中设置JNI