2016-12-12 2 views
-2

У меня есть код Python:Как искать строку из списка в Python

bucket = event['Records'][0]['s3']['bucket']['name'] 
key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key'].encode('utf8')) 
try: 
    response = s3.get_object(Bucket=bucket, Key=key) 
    contents = response['Body'].read() 
    print(contents) 

Это покажет результат, как:

D_REGION="east" 

A_NAME="diet" 

V_ID="44" 

K_PASS="N/A" 

TRIAL_PRODUCTION="TRIAL" 

Я хочу, чтобы проверить это, проверяя, если значение TRIAL или значение PROD
затем распечатать весь список, иначе он не удастся. Как мы можем искать строку из списка с помощью python?

+0

Вы хотя бы попытались решить проблему самостоятельно? О, и это не имеет никакого отношения к 'lambda' не с ответами HTTP - это простая манипуляция строками. –

ответ

2
>>> contents = '''D_REGION="east" 
... 
... A_NAME="diet" 
... 
... V_ID="44" 
... 
... K_PASS="N/A" 
... 
... TRIAL_PRODUCTION="TRIAL"''' 
>>> import re 
>>> re.search(r'TRIAL_PRODUCTION="(TRIAL|PROD)"', contents).group(1) 
'TRIAL' 
+0

Для этого вам не требуется регулярное выражение. –

0
>>> contents = """D_REGION="east" 
... 
... A_NAME="diet" 
... 
... V_ID="44" 
... 
... K_PASS="N/A" 
... 
... TRIAL_PRODUCTION="TRIAL" 
... """ 
>>> # couldn't be much simpler: 
>>> 'TRIAL_PRODUCTION="TRIAL"' in contents or 'TRIAL_PRODUCTION="PROD"' in contents 
True 
>>> # a bit more elegant 
>>> any(target in contents for target in ('TRIAL_PRODUCTION="TRIAL"', 'TRIAL_PRODUCTION="PROD"')) 
True 

Теперь насчет обучения Python (по крайней мере, самые основные вещи), прежде чем пытаться его использовать?

+0

Я думаю, что OP хочет знать, какое из двух значений оно есть, а не только если оно одно или другое. –

+0

«Я хочу проверить это, проверив, является ли значение TRIAL, или значение PROD, а затем распечатайте весь список» => Я понимаю это как «если значение TRIAL _or_ value - PROD, а затем продолжить else». Но поиск одного конкретного значения еще более тривиально и по-прежнему не нуждается в регулярном выражении. –

Смежные вопросы