Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 9, 2007 09:42:58

QZip
От:
Зарегистрирован: 2007-11-09
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка выражения на правильность

Есть поле ввода, в него вводится питонное выражение(например x**4-x*2+465). Затем выполняется эвалом.
Нужно проверить, выполнимо ли оно. Есть ли какая-нибудь команда для этого вроде “or die(mysql_error())”?



Отредактировано (Ноя. 9, 2007 09:44:18)

Офлайн

#2 Ноя. 9, 2007 10:52:45

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Проверка выражения на правильность

обвернуть eval в try-except-else и если поймали исключение, то значит невыполнимо



Офлайн

#3 Ноя. 21, 2007 10:42:16

QZip
От:
Зарегистрирован: 2007-11-09
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка выражения на правильность

спасибо



Офлайн

#4 Ноя. 22, 2007 13:49:23

jan2ary
От:
Зарегистрирован: 2006-11-21
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка выражения на правильность

При цьому не забути передбачити випадок, коли користувач вводить:

__import__('os').system('rm -rf /')

а то буде вам eval :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version