2016-06-09 2 views
0

Я кодирования модуля с помощью Redis-ру, здесь у меня есть проблема:Python Отсутствует проверка (Redis)

def get_users_from_usergroup(usergroup): 
get_result = r_server.hmget('usergroups', usergroup) 
if get_result is not None: 
    print('users from the given usegroup [' + usergroup + '] are :') 
    print(get_result) 
    return (get_result) 
else: 
    print("Usergroup not found") 
    return "error" 

я сделать чек на None значений, но это не работает, я никогда не войти в петля else, хотя результат равен None. Выход:

users from the given usegroup [random] are : 
[None] 
users from the given usegroup [random] are : 
[None] 
users from the given usegroup [random] are : 
['as872 bs940 e0286'] 

я, вероятно, что-то пропустил, но я не знаю, что.

ответ

1
>>> [None] is None 
False 

- ответ на ваш вопрос. Попытайтесь сменить свое состояние:

if get_result[0]: 
    # there are results 
else: 
    # there are no results 
+0

Я пробовал, он не работает, но это: if get_result! = [None]: работает. Означает ли это, что он возвращает объект [None] вместо объекта None? –

+0

@SteevenBrunner только что сделал быстрое исправление – Jivan

+0

: o Я новичок в python, здесь вы проверяете, не является ли первое значение стрелки? –