如果我有如下字符串:
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/