用于解析最常见的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视图   java创建SQL插入语句到CSV文件   java效率检查:Opengl动画代码   在clojure中处理Java可选<T>   java理解camel中的输入/输出交换模式行为   对于使用jpackage构建的应用程序,java LSOpenURLsWithRole()失败,错误为10810   多线程Java同步:多重倒计时闩锁   java哪个类应该做这项工作?   java在运行时出现问题。getRuntime()。执行官   java我们不能在GAE中使用集合或集合作为返回类型吗?   amazon web服务返回类型与RequestHandler<Object,String>不兼容。JAVA中的HandlerRequest(对象、上下文)   如何在Java中使用ExecutorService设置任务的超时时间