Ответы пользователя по тегу Python
  • Использование sql lite 3 и telebot одновременно несколькими людьми, будет ли ошибка?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да все будет в порядке. Проскочит как сквозняк. Главное длительных транзакций не делать.
    И архитектура у SQLite - такая. Один процесс который держит открытым файлы sqlite.

    Вообще так вопросы спрашивать нельзя. Потому-что тут ответы и да и нет и оба верные.
    И автор должен быть в теме как работает мультипоточка в Питоне. Иначе получается
    как в анекдоте про "активного читателя" который пишет письма в "Академию Наук про
    подземный стук".
    Ответ написан
    Комментировать
  • Как перемешать между собой слова создав новые?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почти во всех языках разработки есть функция shuffle которая случайным образом тасует массив как колоду карт.
    Вот как тут пишут https://www.geeksforgeeks.org/shuffle-an-array-in-... с помощью numpy.

    Есть еще генераторы перестановок (permutations) там можно получить не случайные а последовательные и неповторяющиеся перестановки. Например для массива из 10 слов можно получить больше 3 млн новых массивов.
    Ответ написан
  • Как с помощью Python записать "внутренний" звук компьютера?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно с помощью youtube-dl отдельно скачать дорожку в mp3. Но в настоящий момент Youtube что-то поменял в ендпоинтах и эта утилита сломана. Ждем фикса здесь https://github.com/ytdl-org/youtube-dl/issues

    И тогда можно ее вызвать из Python. И сама она тоже написана на Python. Поэтому с интеграцией не будет проблем я думаю.
    Ответ написан
    Комментировать
  • Ошибка: sqlite3.OperationalError: no such column: telegram_id: Как исправить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Добавь новую колонку telegram_id.

    А этот код скорее всего не работает
    CREATE TABLE IF NOT EXISTS users
    потому что он опционален.

    Ты сам себя перехитрил :)
    Ответ написан
    Комментировать
  • Как в Python перевести string в bytes, не меняя string?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для хранения байтов в базах данных обычно из заворачивают в строки в кодировках BinHex, Base64.
    Ответ написан
    Комментировать
  • Как можно изменить код, чтобы он работал быстрее?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Python это в принципе не тот язык который работает быстро. Но если есть уже готовый вектор примитивов то его наверное можно процессить их альтернативного API написанного на векторных операциях. И Python будет просто посредником при вызове. Разумеется вне цикла. Arrow. Numpy. Numba. Pandas неважно. Их огромное количество.

    Тоесть главная задаа - подготовить структуры данных так чтобы они были applicable к альтернативному API.
    Ответ написан
    Комментировать
  • Почему я получаю данную ошибку?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне кажется ты смешал в кучу две разные технилогии. Bind variables. Это вставка специальных переменных
    в тело DML/DQL запроса вместо значений. Это поддерживается на уровне БД. Это важно для БД потому что идет компилляция текста запроса для повторного его исполнения много раз.

    И интерполяция строк. Это просто тупо генерация новой строки. К базам не имеет отношения.
    Это поддерживается Python например. Строковой интепорляцией ты можешь сделать первую часть запроса.

    Сделать нечто вроде
    "UPDATE emp SET ename=? WHERE empid=?"
    (кстати в синтаксисе у тебя скорее всего была ошибка)

    И потом уже вместо вопросительных знаков добавить bind variables.
    Ответ написан
    Комментировать
  • Как многопоточно читать тхт файл Python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне нужно совершить запрос по url адресу : primer.primer/keyword='слово'
    И следовательно чтобы все пройти в один поток, нужно много времени, поэтому нужна многопоточность. Очень надеюсь на помощь :)

    Нет-нет. Это все - полная фигня постановка. Так не работает. Если кто-то что-то хочет быстро искать - он создает специальные структуры данных оптимальные для быстрого поиска. Например этот txt-файл со словами записывается в Python dictionary и там и лежит себе. Для поиска - самое оптимальное. Если памяти не хватает
    то тогда этот текстовый файл переписываелся в БД типа SQLite. И ищется там уже с механиками индексов
    и с более рациональным (блочным) использованием памяти (там кажется mmap используется).

    Мультипоточное чтение файла здесь особо ничего не дает. При холодном старте - будет даже хуже чем одно-поточное.
    Ответ написан
    Комментировать
  • Разобраться с моим кодом, можно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Капец ты продуктивный кодер. Это надо-же столько много букв написать.
    Никто разбираться скорее всего не будет.

    Но я-бы предложил тебе стратегию как в будущем не залетать с такой бедой.
    Тебе надо стартовать новый проект который точно работает (hello world) на ботах.
    И потихоньку начинай переносить свой функционал в новый проект. И делай запуск и тестируй.
    И делай каждый раз git commit.

    Наступит момент когда он упадет - это и будет проблемное добавление. Дальше - откатывайся взад
    и разбирайся какое изменение привнесло дефект. Процесс можно ускорить если добавлять дихотомически.
    Сначала +50%. Упало. Удалил 25%. Едет. И так далее.
    Ответ написан
    Комментировать
  • Где искать документации(по пайтон)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот эта страница висит в википедии как главная https://www.python.org/

    Вот я сюда ходил https://peps.python.org/ тут лежат всякие ПЕПС-ы. Типа предложения по улучшению языка.

    Вот тут описания пакетов я находил https://pypi.org/
    Ответ написан
  • Как сделать вывод цветного текста в txt файл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Линукс-консоли поддерживают цветовые коды при выводе текста на экран.
    Этим иногда пользуются для дизайна command-line утилит.
    Вот как-то так.
    LRED='\033[1;31m'
    echo "$LRED 2023-01-01 [Error] Server is down"
    Но то что будет получено в результате - уже не текстовый файл.

    Насчет windows - не знаю. Там может как-то под другому с консолью надо работать.
    Ответ написан
    Комментировать
  • Как хранить переменные в кэше, а через 3 часа их сбрасывать и запрашивать новые данные?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Технически, выгодно установить redis или memcached и класть данные туда и запрашивать оттуда с указанием времени жизни для каждой записи (expiration = 10800 seconds)
    $ redis-cli ......
    set key ${city_id} ...... ex 10800
    Ответ написан
    1 комментарий
  • Почему падает no such column?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Эта команда - опциональная.
    CREATE TABLE IF NOT EXISTS users
    тоесть она могла и не выполнятся. А если она не выполнялась - то очевидно что существует другая таблица users.

    Давайте смотреть что в этой другой таблице. Автор неужели ты не мог логгирование добавить? Этож просто. Хоть бы знали работал ddl или нет.
    Ответ написан
    Комментировать
  • Как найти окружности на изображении opencv python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если синий космический корабль всегда лежит в центре большой окружности - то я-бы искал его. Его паттерн - проще. А большой круг такой слабый что преобразование хафа наверное его видит как рандомный шум. Надо как-то усилить контраст или threashold чтобы она проявилась.
    Ответ написан
    Комментировать
  • Как получить из pdf файла информацию о character spacing и word spacing?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Судя по описанию Pymupdf (Python) использует MuPdf (C) https://mupdf.com/ следовательно все ответы на вопросы надо искать там.

    Сам вопрос звучит странно
    character spacing и word spacing

    автор хочет узнать из PDF документа есть ли информация о межбуквенном расстоянии прочее.

    Это расстояние может быть не свойством документа а неким дефолтным свойством шрифта например.
    Ответ написан
  • Как сократить данный код?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут нужна одна функция. На вход получает месседж-текст. И объекты markup и bot.
    Вот и все. Остально зарефакторится и схлопнется.
    Ответ написан
    Комментировать
  • Как напечать треугольник в консоли?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Брось прикалываться. Нормальные люди рисуют геометрию на matplot. Вот посмотри примеры
    https://matplotlib.org/stable/gallery/lines_bars_a...

    Если ты любитель ASCII-art - то рисуй прямоугольник из звездочек. Но исключай те звездочки которые
    входят в тело треугольника который вписан. Принадледность точки треугольнику - это классическая задача на всяких codewars, контестерах.
    Ответ написан
    Комментировать
  • Как организовать внос данных в базу данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сколько работаю с БД - впервые слышу глагол "внос". Слышал: загрузка, input, ingestion, migration, load, pull.

    Ладно. Вобщем ты конено тег не поставил БД. В классическом SQL я не помню такой команды. Но в Postgres есть
    insert ... on conflict ...
    где ты указываешь что делать если ключик уже есть.

    В Oracle можно сделать как-то так
    merge into .... using dual on (key = key)
             when not matched then insert (...) values (...)
                 when matched then update set ....;


    И возможно в современных SQL/Nosql системах уже UPSERT поддерживается нативно.
    Ответ написан
  • Как обновить весь столбец sqlite3 python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Непонятно что автор хотел сделать. Может так. Я не проверял. Типы и функции может другие надо.

    UPDATE my_table SET days = CURRENT_TIME - date;
    Ответ написан
    Комментировать