解析“IL-2遗忘之战”飞行模拟器专用服务器生成的游戏日志中的事件

il2fb-game-log-parser的Python项目详细描述


pypi_packageSupported versions of Pythonlicense

unix_buildBuild status of the master branch on WindowsTest coverage

Codacy Code ReviewScrutinizer Code QualityCode HealthRequirements Status

目录

概要

这是一个python库,它从 “IL-2遗忘之战”飞行模拟器专用服务器。结果 有关事件的信息存储在特殊的数据结构中。

演示

即使您不理解这个库的用途,也可以看到它正在运行。

你只需要visit project’s demo page

该页面允许您测试解析器处理字符串的能力。如果你 不知道要在文本区域中输入什么,可以单击Insert test data 然后分析它。

如果出现问题,系统将提示您确认自动创建 错误报告将是 listed on this page

已知事件

此库支持专用服务器生成的所有已知事件 (129个独特事件)。

要查看他们的列表,请转到demo page并单击 See the list of supported events链接。

安装

从pypi获取python包:

pip install il2fb-game-log-parser

用法

如果需要能够解析此库知道的所有事件,请使用 GameLogEventParser.parse_string()

导入GameLogEventParser并创建其实例:

fromil2fb.parsers.game_logimportGameLogEventParserparser=GameLogEventParser()

分析字符串以获取事件的实例:

event=parser.parse("[8:33:05 PM] User0 has connected")

探索活动的内部结构:

print(event)# <Event: HumanHasConnected>print(event.time)# datetime.time(20, 33, 5)print(event.actor)# <Human 'User0'>print(event.actor.callsign)# User0

将事件转换为字典:

importpprintpprint.pprint(event.to_primitive())# {'actor': {'callsign': 'User0'},#  'name': 'HumanHasConnected',#  'time': '20:33:05',#  'verbose_name': 'Human has connected'}

例外情况

如果试图分析未知事件,将引发EventParsingException

parser.parse("foo bar")# Traceback (most recent call last):# …# EventParsingException: No event was found for string "foo bar"

当前支持的事件列表已相当满,但是EventParsingException 很有可能,因为服务器的事件没有文档记录,而且这个库 可能不知道所有这些。

如果需要捕获此错误,其全名为 il2fb.commons.events.EventParsingException

安全使用

如果不关心任何异常,可以设置标志ignore_errors=True

fromil2fb.parsers.game_logimportGameLogEventParserparser=GameLogEventParser()event=parser.parse("foo bar",ignore_errors=True)print(eventisNone)# True

任何错误(除了SystemExitKeyboardInterrupt)都将被静音,并且 None将被返回。

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

推荐PyPI第三方库


热门话题
JAXB可以将ArrayList作为逗号分隔的值输出吗?   java使用bcel将一个内部类移动到另一个外部类   java无法识别Lucene MoreLikeThis中的错误   安卓如何在Frida中将动态类转换为json或java文件   java如何使用Struts2在blob类型的列中保存我的sql中的图像?   使用mavenreleaseplugin将java maven发布到nexus 3.0.1失败   java这是正确的方法吗?   Windows上的java Runner不工作   找不到java Hibernate+Spring xml映射   java如何访问WMI查询的数据(通过JNA)SAFEARRAY结果   java如何在本地导入库而不使用Maven中的Nexus?   java渐变本地项目依赖项   使用URLFetchService/URL Google appengine for java