Профессионально перекладываю данные из БД в JSON

Достижения

Все достижения (6)

Наибольший вклад в теги

Все теги (114)

Лучшие ответы пользователя

Все ответы (237)
  • Как можно укоротить этот код?

    ScriptKiddo
    @ScriptKiddo
    funcs = {
        '20': messages,
        '21': contin,
        ...
    }
    ...
        try:
            await funcs[payload](vk, peer_id)
        except Exception as e:
            print(str(e))
    Ответ написан
    Комментировать
  • Как запустить программу Python на фоне?

    ScriptKiddo
    @ScriptKiddo
    Переименуйте свой скрипт в .pyw

    Python scripts (files with the extension .py) will be executed by python.exe by default. This executable opens a terminal, which stays open even if the program uses a GUI. If you do not want this to happen, use the extension .pyw which will cause the script to be executed by pythonw.exe by default (both executables are located in the top-level of your Python installation directory). This suppresses the terminal window on startup.


    https://docs.python.org/2/using/windows.html#execu...
    Ответ написан
    Комментировать
  • Целесообразно ли хранить изображения как BLOB в БД?

    ScriptKiddo
    @ScriptKiddo
    Несколько тысяч - можно и в БД
    Вот что пишут про хранение небольших бинарников в базе SQLITE

    SQLite читает и записывает небольшие BLOB-объекты (например, эскизы изображений) на 35 % быстрее¹, чем те же BLOB-объекты, которые можно читать или записывать в отдельные файлы на диске с помощью функций fread() или fwrite().

    Кроме того, одна база данных SQLite, содержащая 10-килобайтные BLOB-объекты, использует примерно на 20 % меньше места на диске, чем хранение BLOB-объектов в отдельных файлах.

    Разница в производительности возникает (мы полагаем), потому что при работе с базой данных SQLite системные вызовы open() и close() вызываются только один раз, тогда как open() и close() вызываются один раз для каждого BLOB-объекта при использовании BLOB-объектов, хранящихся в отдельные файлы. Похоже, что накладные расходы на вызовы open() и close() больше, чем накладные расходы на использование базы данных. Уменьшение размера связано с тем, что отдельные файлы дополняются до следующего кратного размера блока файловой системы, в то время как большие двоичные объекты более плотно упаковываются в базу данных SQLite.

    https://www.sqlite.org/fasterthanfs.html
    Ответ написан
    1 комментарий
  • Можно ли заряжать ноутбук hp elitebook 830 g6 зарядкой от телефона xiaomi note 9 pro?

    ScriptKiddo
    @ScriptKiddo
    Можно, не повлияет. Если начал заряжаться - значит зарядка и ноут нашли подходящий допустимый протокол для заряда

    Но можно ли, не повлияет это на батарею ноута?

    Не переживайте, батарея вздуется сама по себе
    Ответ написан
    Комментировать
  • Как прервать bot.register_next_step_handler?

    ScriptKiddo
    @ScriptKiddo
    bot.clear_step_handler_by_chat_id(chat_id=call.message.chat.id)


    Source
    @bot.message_handler(commands=['start'])
    def process_start(message):
        board = types.InlineKeyboardMarkup()
        cancel = types.InlineKeyboardButton(text="Отмена", callback_data="Отмена")
        board.add(cancel)
        text = 'start'
        msg = bot.send_message(message.chat.id, text, reply_markup=board)
        bot.register_next_step_handler(msg, process_mid)
    
    
    def process_mid(message):
        board = types.InlineKeyboardMarkup()
        cancel = types.InlineKeyboardButton(text="Отмена", callback_data="Отмена")
        board.add(cancel)
        text = 'mid'
        msg = bot.send_message(message.chat.id, text, reply_markup=board)
        bot.register_next_step_handler(msg, process_end)
    
    
    def process_end(message):
        text = 'end'
        bot.send_message(message.chat.id, text)
    
    
    @bot.callback_query_handler(func=lambda call: True)
    def callback_inline(call):
        if call.message:
            if call.data == "Отмена":
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='Отменено.')
                bot.clear_step_handler_by_chat_id(chat_id=call.message.chat.id)
    
    
    bot.polling(none_stop=True)
    Ответ написан
    7 комментариев