分隔符未知时如何检测空值?

2024-04-29 10:37:23 发布

您现在位置:Python中文网/ 问答频道 /正文

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

目标:每次获取所有字段,无论哪个字段在我的linux输出中变为null。如果任何字段是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字段为空,并且必须用blankNone值更新它


Tags: 代码comfieldsoutputtestingnullfakeen