Простую альтернативу этой проблеме можно решить, предоставив соответствующие разрешения в самой базе данных. Например: если вы используете базу данных mysql, введите в базу данных через терминал или предоставленный интерфейс и просто следуйте этой команде:
GRANT SELECT, INSERT, DELETE ON database TO username@'localhost' IDENTIFIED BY 'password';
Это ограничит пользователя ограничиться только указанным запросом только. Удалите разрешение удаления, и поэтому данные никогда не будут удалены из запроса, запущенного с php-страницы. Второе, что нужно сделать, это очистить привилегии, чтобы mysql обновлял разрешения и обновления.
FLUSH PRIVILEGES;
Дополнительная информация о flush .
To см. текущие привилегии для пользователя, вызывают следующий запрос.
select * from mysql.user where User='username';
Подробнее о GRANT .
Возможно самое популярное использование является operator.itemgetter. Учитывая список lst
из кортежей, можно отсортировать по ith элементу: lst.sort(key=operator.itemgetter(i))
, Конечно, Вы могли сделать то же самое без оператора путем определения собственной ключевой функции, но модуль оператора делает его немного более опрятным.
относительно остальных, Python позволяет функциональный стиль программирования, и таким образом, это может подойти - например, Greg уменьшают пример.
Вы могли бы спорить: "Почему делают мне нужно operator.add
, когда я могу просто сделать: add = lambda x, y: x+y
?" Ответы:
operator.add
(я думаю), немного быстрее. operator.add
picklable, в то время как lambda
не. Это означает, что функция может быть сохранена на диск или передана между процессами. Один пример находится в употреблении эти reduce()
функция:
>>> import operator
>>> a = [2, 3, 4, 5]
>>> reduce(lambda x, y: x + y, a)
14
>>> reduce(operator.add, a)
14