对于y中的x循环捕获实例值

对于y中的x循环捕获实例值

如果我有如下字符串:

output = '''
Certificate 1:
  Valid from: Mon Jun 12 14:58:50 EDT 2017
  Valid until: Wed Jun 12 15:28:50 EDT 2019

Certificate 2:
  Valid from: Mon Jun 12 15:00:43 EDT 2017
  Valid until: Wed Jun 12 15:30:43 EDT 2019
'''


当我转换为unixtime时,我想区分两个值。当它是证书1或证书2时,我怎么知道?

到目前为止,这是我的工作,可以获取两个日期,但是我不知道如何说这是第一个结果,然后是证书1。

        for line in output.splitlines():
            if 'Valid until' in line:
                environment = '???'
                valid_until_time = (line.split(':', 1)[1]).strip()[4:]
                valid_until_time = valid_until_time.replace(' EDT', '')
                unixtime = time.mktime(datetime.strptime(valid_until_time, '%b %d %H:%M:%S %Y').timetuple())
                send_to_zabbixsender(zabbix_executable,
                                     zabbix_config,
                                     item_key='{0}.expirydate'.format(environment),
                                     item_value=unixtime)

最佳答案

有很多不同的方法可以解决此问题。

一种方法是简单地检查它是否是证书1或2

    for line in output.splitlines():
        if 'Certificate 1' in line: cert1Bool = True
        if 'Certificate 2' in line: cert1Bool = False


然后继续执行其余的代码,仅在需要时检查cert1Bool

关于python - 对于y中的x循环捕获实例值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47041290/

10-12 22:38