Tag: питона

Какие коды состояния создаются внутри Flask?

Я хочу, чтобы мои ответы об ошибках были действительными JSON, поэтому мой клиент может их проанализировать. В файлах флагов упоминаются коды статуса 404 и 500, которые были созданы внутренне, но я видел некоторые потоки о том, как он может также вернуть 405. Есть ли список кодов, которые я должен обработать фреймворком? Я мог бы просто […]

python + flask передает данные из html обратно в скрипт python (в частности, значение метки)

Я использую python и flask для создания веб-приложения. Я новичок в этом, но получил большую часть того, что я пытаюсь сделать. Где я застрял в том, что у меня есть метка, значение которой является переменной python ({{id}}). Этот id является идентификатором строки, которую мне нужно обновить в базе данных sqlite. Мой код ниже. когда я […]

Отключить ошибку «400 Bad Request» для отсутствия ключей в форме

Документация для Flask объясняет, что она вернет ошибку 400 Bad Request если код пытается получить доступ к ключу формы, которого не существует. Это затрудняет отладку, потому что ошибка не содержит информации о том, какой ключ отсутствует или что-то еще вызвало ошибку. Есть ли способ отключить ошибку 400 и вернуть «500 Internal Server Error» с трассировкой […]

Как выполнить блокировку файлов в Windows без установки нового пакета

Я добавил код в пакет Python ( brian2 ), который помещает исключительную блокировку файла для предотвращения состояния гонки. Однако, поскольку этот код включает вызовы fcntl , он не работает в Windows. Есть ли способ разместить эксклюзивные блокировки файлов в Windows без установки нового пакета, такого как pywin32 ? (Я не хочу добавлять зависимость к brian2 […]

python: включение среднего человека в вызовы метода

Я хотел бы прослушать некоторые обращения к сторонним библиотечным методам. Примечательно, что я хотел бы приложить какой-то метод обратной связи для этих методов, которые я слушаю. Например, всякий раз, когда вызывается logging.info (msg, * args, ** kwargs), я хотел бы иметь отдельный метод с тем же списком параметров, который был запущен. Самое близкое, что я […]

isinstance (xxx, свойство) работает, но что это значит в модуле типов?

Я могу использовать isinstance для проверки, является ли атрибут свойством (на самом деле), но я не могу найти ничего в модуле типов, который соответствует свойству. Надеемся, что приведенный ниже код сделает это более понятным. Все остальное, что я тестирую, просто отлично, чтобы получить матч. class MyClass(object): def __init__(self): self._counter = 0 def counter(): doc = […]

Python quickie: прецизионное равенство десятичной точки

Привет, у меня есть быстрый вопрос, прежде чем я пойду и сделаю сложный цикл, полный преобразований типов и прочее. Сравнивая два значения, это приведет к True ? 0.1 == 0.10 (в плавающей запятой) Я действительно сравниваю членов списка, и они могут выйти так, и я просто хотел убедиться, что равные значения приведут к истинным для […]

Возможно ли изменение метакласса из внешнего модуля?

Давайте fields.py внешний модуль с именем fields.py с метаклассом FieldModelMetaclass который изменяет класс FieldModel : # module fields.py class FieldModelMetaclass(type): def __new__(cls, name, bases, attrs): # code to alter class creation class FieldModel(object): __metaclass__ = FieldModelMetaclass print 'run at parse time BEFORE metaclass applies' # module consumer.py import fields def adjust_metaclass_new(cls, name, bases, attrs): # […]

Python – генератор вместимости между итератором – правильно ли я это делаю?

У меня есть эта функция, которую я сделал: def iter_intersperse(iterOver, injectItem, startWithIter = True): for item in iterOver: sendItem = (item, injectItem) if startWithIter else (injectItem, item) yield sendItem чтобы пересечь элемент между элементами в генераторе. Это для некоторых вызовов Wxpython AddMany, и я хочу добавить разделитель между каждой панелью в большом словаре (все разделители […]

Контрасты Tornado не работают в Cython

Этот код работает в Python 3.4.3 с использованием Tornado 4.1 – он спит в течение 1 секунды, а затем печатает «Hello World! 123». Но когда компилируется с помощью Cython (я пробовал версии 0.20.1post0 и 0.23dev), он ничего не делает. import tornado.ioloop import datetime from tornado import gen @gen.coroutine def test(): yield gen.Task(ioloop.add_timeout, datetime.timedelta(seconds=1)) return 123 […]

Python - лучший язык программирования в мире.