Python 如何在OptPass中获取用户的输入?

Python 如何在OptPass中获取用户的输入?,python,regex,Python,Regex,我有以下文件: System Configuration Utility Version 14.1 Build 19 Copyright (c) 2017 Intel Corporation System BIOS and FW Versions: BIOS Version............. SE3.4 ME Firmware Version...... 2.01 BMC Version Op Code................. 1.2.7Q SDR Version..

我有以下文件:

System Configuration Utility Version 14.1 Build 19
Copyright (c) 2017 Intel Corporation

System BIOS and FW Versions:
BIOS Version............. SE3.4

ME Firmware Version...... 2.01

BMC Version
 Op Code................. 1.2.7Q

SDR Version.............. SDR Package 0.1
我想将其捕获并存储在dict中,如下所示:

d ={'BMC Version': '1.2.7Q',
    'SDR Version': '0.1',
    'ME Firmware Version': '2.01'
   }
如何使用regex和python实现这一点

现在我的方法是这样硬编码,但我不想硬编码:

SDR Package \d+.\d+
正则表达式

详情:

  • (?:)
    非捕获组
  • |
  • []
    匹配列表中的单个字符
  • +
    在一次和无限次之间匹配
Python代码

import re

d = {}
for match in re.findall(r'((?:ME Firmware|BMC|SDR) Version)\D+([0-9.A-Z]+)', text):
    d[match[0]] = match[1]
输出:

{'ME Firmware Version': '2.01', 'BMC Version': '1.2.7Q', 'SDR Version': '0.1'}

您不想硬编码是什么意思?你想要什么样的解决方案?这个问题与optpasse有什么关系?optpasse和你的问题到底有什么关系?