首页 > 解决方案 > 分隔符未知时如何检测空值?

问题描述

我目前正在从事解析基于 Linux 的输出的自动化任务。我们目前不确定哪些字段值将变为 null 以及何时。

目标:无论哪个字段在我的 linux 输出中变为空,每次都获取所有字段。如果有任何字段,null则将其视为空白字段

我用来拆分字段的 Python 代码:由于其中没有空字段,output因此以下代码按预期工作

fields = "Index    Id        Type              Ip      Flags AhmSt       CLT  AhmDB Nodename"
fields = fields.split()
output = "6215  5097     GOLD1      10.123.43.2        n/a [1,0,0,en]  dflt   u     testing-fake-sme-6-50.gold.isold.com"
values = output.split(' ')
values = [value for value in values if value]

values:
['6215', '5097', 'GOLD1', '10.123.43.2', 'n/a', '[1,0,0,en]', 'dflt', 'u', 'testing-fake-sme-6-50.gold.isold.com']

required_output = dict(zip(fields,values))
required_output:
{'Index': '6215', 'Nodename': 'testing-fake-sme-6-50.gold.isold.com', 'AhmDB': 'u', 'Ip': '10.123.43.2', 'Flags': 'n/a', 'CLT': 'dflt', 'AhmSt': '[1,0,0,en]', 'Type': 'GOLD1', 'Id': '5097'}

现在,对于以下output我的AhmSt领域null,上面的代码不起作用。

output = "270  4142        HOLD     10.123.12.32 0x00000001                    h  hello-ca-4142-20.gold.isold.com

如何在第二个输出中检测到我的AhmSt字段为空并且我必须使用blankorNone值更新它?

标签: python

解决方案


推荐阅读