Ваше решение на самом деле вполне нормально, но есть альтернативы:
Если вы используете Python 2.5 или выше, вы можете сократить оператор if:
print 'Success' if data == 'True' else 'Fail'
Если вы часто повторяете проверку, вы можете написать для нее функцию, чтобы сделать ее более читабельной:
def is_true(mysql_boolean):
if mysql_boolean == "True":
return True
else:
return False
# now you can use this:
if is_true(data):
# this is really going to be more than one line of code anyway.
# or maybe a function call, in which your solution might be enough.
print "Success"
else:
print "Fail"
Вы можете достичь того же с помощью словаря, но я не нахожу это элегантным:
mysql_bool = {'True': True, 'False': False}
if mysql_bool[data]:
print "Success"
Тем не менее, что вы используете для подключения к БД? Вероятно, есть способ напрямую получить оттуда бул. Пожалуйста, обновите ваш вопрос!