从Python中检查SWF的Flash版本和ActionScript版本?

问题描述:

我需要验证上传的SWF以确保它符合特定的Flash和ActionScript版本限制。任何人都知道一个好的Python库来解析SWF中的元数据?从Python中检查SWF的Flash版本和ActionScript版本?

+0

http://pypi.python.org/pypi/hexagonit.swfheader – vikki 2012-03-01 09:04:12

Hexagonit.swfheader检查Flash版本,这是Michael的问题的一部分,但不包含ActionScript版本,是吗?

发现目标flash版本是很容易的,它只是在第4个字节:

file.seek(3) 
print ord(file.read(0)) 

“ActionScript版本”可以意味着许多东西。

如果您只需要知道SWF是否为ActionScript 3,请阅读FileAttributes标记的“actionScript3”属性。如果你阅读SWF规范,你可以很容易地做到这一点。

如果您需要了解ActionScript 3代码的数字版本,例如“46.16”,文件中的每个DoABC标签都存在一个。这可能需要一个库来解析整个SWF。我不知道有什么好的python。