python - 分隔符未知时如何检测空值?
问题描述
我目前正在从事解析基于 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
字段为空并且我必须使用blank
orNone
值更新它?
解决方案
推荐阅读
- python - 如何获得关于输入的梯度并更改输入(而不是可训练的变量)以最小化 TF 2 中的损失?
- angular - primeng 多选中的默认选中选项
- c# - Azure Functions 中的 Serilog
- javascript - 使用python将base64字符串转换为png图像
- sql - 排名或运行计数新值?
- django - 无法向 django 中的其他用户电子邮件帐户发送电子邮件
- java - 从 spring-data-jdbc 的“Entities”生成脚本 sql
- r - R:导出数据框的嵌套列表
- python - 在 Python 中处理夹具数据的正确方法
- linux - 如何在 shell 中处理我的登录脚本中的错误密码?