Задать вопрос
  • Как удалить скрытый майнер?

    Vindicar
    @Vindicar
    RTFM!
    Проверь планировщик заданий и список служб.
    Причем ищи вообще всё подозрительное - может быть, висит отдельная служба-watchdog, которая перезапускает майнер при закрытии.
    Ответ написан
    Комментировать
  • В чем моя ошибка?

    Vindicar
    @Vindicar
    RTFM!
    root.mainloop()
    Этот вызов показывает окно Tkinter и уходит в цикл обработки событий. Цикл длится пока окно не закрыто (т.е. пока твоя программа работает).
    Твой цикл while 1: не будет выполнен до этого момента.
    Так что лучше производи весь ввод-вывод в обработчике choose_color(), или добавь отдельную кнопку для отправки.
    Ответ написан
    Комментировать
  • Typeerror, как решить хз, поможите?

    Vindicar
    @Vindicar
    RTFM!
    Читаем текст ошибки: get_userss() takes 1 positional argument but 2 were given. Иными словами, pytogram передал твоей функции 2 аргумента, а она принимает только один.
    Смотрим заголовок твоей функции:
    async def get_userss(message):  # <-- принимает один аргумент!

    Открываем документацию pyrogram, смотрим первый же пример кода:
    @app.on_message(filters.private)
    async def hello(client, message):  # <--- обработчик принимает два аргумента!
        await message.reply("Hello from Pyrogram!")


    Вывод: pyrogram ожидает, что функция-обработчик события примет 2 аргумента, а ты её объявил криво, с одним. Ну и не потрудился открыть документацию, я полагаю, иначе сразу бы заметил разницу.
    Ответ написан
    2 комментария
  • Как поменять середину в название в фото?

    Vindicar
    @Vindicar
    RTFM!
    Разбей имя файла с помощью метода split('_'), получишь список частей имени файла.
    Делай что тебе нужно с элементами этого списка.
    Потом соберешь его обратно в одну строку вызовом '_'.join(список).
    Ответ написан
  • Почему pymysql выдает Already Closed?

    Vindicar
    @Vindicar
    RTFM!
    В питоне блок with обычно используется для освобождения некоторого ресурса независимо от исхода выполнения кода в блоке with (нормальное выполнение, исключение, ранний return).
    В случае с соединением с СУБД, with self.connection: освобождает ресурс, т.е. закрывает это соединение, по завершению блока with. Если тебе нужно, чтобы соединение не закрывалось, не используй with.

    Я подозреваю, что ты написал with "потому что в туториале так написано".
    Ответ написан
    Комментировать
  • Как сделать удаление целой строки из txt файла по команде боту?

    Vindicar
    @Vindicar
    RTFM!
    Лучше это не делать. Текстовые файлы очень неудобны в вопросах "вставить текст в середину"/"удалить текст из середины", так как они хранятся как последовательность символов. Не строк. Символов.
    Так что единственный способ удалить строку заранее неизвестной длины из середины выглядит примерно так:
    Файл до:F O O B A R B A Z F E E. Мы хотим удалить BAR.
    Читаем часть файла, идущую после, и пишем её с начала BAR:
    F O O B A Z F E E F E E
    FEE в конце осталось от предыдущего содержимого. После этого делаем truncate, чтобы обрезать лишний хвост.
    F O O B A Z F E E
    Долго и муторно.

    Я бы посоветовал осилить базы данных, хотя бы тот же sqlite.
    Ответ написан
  • Ошибка пайтон как исправить?

    Vindicar
    @Vindicar
    RTFM!
    У тебя какая-то очень древняя версия питона, еще до 3.5.
    Ответ написан
    Комментировать
  • Как ускорить выполнение перебора?

    Vindicar
    @Vindicar
    RTFM!
    Задумайся для начала.
    Зачем ты для каждой попытки i заново суммируешь числа от 1 до i-1, если ты уже суммировал их на предыдущей итерации?
    Если не осилил

    m = .....
    n = 0
    while m > 0:
        n += 1
        m -= n ** 3
    print(n)

    Ответ написан
    Комментировать
  • Почему при подсчете количества строк в SQLite3 выводится не число, а 0x0000009E9DC70E30>?

    Vindicar
    @Vindicar
    RTFM!
    1. Ты получил объект-курсор. У него нет строкового представления, поэтому пр ивыводе он отображается по умолчанию - <Cursor object at адрес-объекта-в-памяти>
    Чтобы получить выбранные данные, нужно вызывать методы fetchone() или fetchall().
    2. Если ты делаешь запрос к БД, который возвращает данные (неважно какие), получить их придётся как описано выше. Что это за данные - сами строки, какая-то агрегатная функция, или еще что - не важно. Даже если выполнишь запрос вида SELECT 123;, всё равно результат придётся вытаскивать через fetchone()/fetchall().
    3. SUM(id) вернёт тебе сумму всех идентификаторов строк в таблице, а не количество строк в ней. Используй COUNT(*).
    Ответ написан
    Комментировать
  • Можно ли на python задать распределение по четырем моментам?

    Vindicar
    @Vindicar
    RTFM!
    Насколько я знаю, из коробки такого способа нет.
    Вообще это будет уже НЕ нормальное распределение, и я бы посоветовал попробовать применить другую модель распределения. Например, бета-распределение даёт довольно широкий диапазон форм графика плотности вероятности, и при определённом соотношении между параметрами a и b выглядит как раз как смещённое нормальное распределение.
    Ответ написан
    Комментировать
  • Discord.py как в команде выполнять задачу для многих аргументов?

    Vindicar
    @Vindicar
    RTFM!
    @bot.command
    asynd def pay(ctx, *args):

    args будет содержать кортеж строк. Проблема в том, что эти строки тебе придётся самостоятельно разбирать и преобразовывать либо в пользователей, либо в суммы.
    Ответ написан
    Комментировать
  • Детектор движения отдельных объектов OpenCV на Python, как можно реализовать?

    Vindicar
    @Vindicar
    RTFM!
    Такой вопрос уже был, повторю свой ответ: создай изображение-маску, и по этой маске закрашивай одним цветом неинтересные тебе части кадра перед их отправкой на сравнение. В закрашенных частях движения не будет по определению.
    Ответ написан
    Комментировать
  • Информация, введённая в массив, забывается после закрытия консоли, как заставить её сохраняться?

    Vindicar
    @Vindicar
    RTFM!
    Массив хранится в оперативной памяти.
    Когда ты завершаешь процесс, вся выделенная ему оперативная память освобождается и потом используется другими процессами. Это действие выполняется операционной системой, у приложений нет над ним никакого контроля.
    Вывод: неважно что ты делаешь с переменной, её значение не сохранится, если ты сам об этом не позаботишься.

    Так что читай про то, как пользоватсья модулем json и работать с файлами. Это будет самый простой вариант.
    Ответ написан
    2 комментария
  • Как оптимально проверить вхождение элемента из одного списка в другом?

    Vindicar
    @Vindicar
    RTFM!
    Для ситуации, когда "чёрный список" длинный, но статичный, а элементы можно сравнивать, может иметь смысл отсортировать списки и двигаться по обоим. Если списки отсортированы заранее, то сложность будет O(M+N), вместо O(M*N). Если не отсортированы, то всё будет определяться скоростью сортировки.

    black_list = list('1234567890h')
    black_list.sort()
    tested_list = list('dabeghfc')
    tested_list.sort()
    black_last, tested_last = len(black_list)-1, len(tested_list)-1
    black_idx, tested_idx = 0, 0
    black_item, tested_item = black_list[black_idx], tested_list[tested_idx]
    while True:
        if black_item < tested_item and black_idx < black_last:
            # элемент в чёрном списке меньше - идём вперёд по чёрному списку, если есть куда
            black_idx += 1
            black_item = black_list[black_idx]
        elif black_item > tested_item and tested_idx < tested_last:
            # элемент в чёрном списке больше - идём вперёд по тестирумому списку, если есть куда
            tested_idx += 1
            tested_item = tested_list[tested_idx]
        else:  # либо элементы равны (есть вхождение), либо один из списков закончился
            break
    print('Есть вхождение!' if black_item == tested_item else 'Нет вхождения')
    Ответ написан
    Комментировать
  • Какая ошибка в коде телеграмм бот(aiogram)?

    Vindicar
    @Vindicar
    RTFM!
    hm = message.text == int
    Я догадываюсь, что ты пытаешься проверить, что введено целое число (а почему целое?), но это так не работает.

    А чтобы организовать сообщения от пользователя в цепочку, смотри в сторону register_next_step_handler().
    Ответ написан
    Комментировать
  • Что тут учить в библиотеке aiogram?

    Vindicar
    @Vindicar
    RTFM!
    1. Читаешь Quick Start и примеры кода.
    2. Ищешь пример кода, который наиболее походит на нужную тебе функциональность.
    3. Наткнувшись на непонятное, ищешь нужный раздел документации и читаешь до наступления просветления.
    4. Повторять 2-3, пока нужный пример кода не будет полностью понятен.
    Я так делаю, во всяком случае.
    Ответ написан
    1 комментарий
  • Как получить часовой пояс по городу в python?

    Vindicar
    @Vindicar
    RTFM!
    В общем случае никак. Города могут иметь одинаковые названия(например, Кострома и Кострома), да и какой-нибудь Малый Задрипанск может отсутствовать в базе.

    Проще дать пользователю выбрать часовой пояс как обычно.
    Ответ написан
    Комментировать
  • Как определить качество изображения?

    Vindicar
    @Vindicar
    RTFM!
    Ну например, так: используй фильтр Кэнни на изображении, посчитай число белых пикеселей (контуров).
    Размой изображение слегка и используй фильтр Кэнни на размытом изображении. Белый пикселей (контуров) будет меньше, так как часть контуров станет слишком размыта. Чем размытее изображение, тем меньше будет разница.
    Ответ написан
    Комментировать
  • Как сделать так, что бы таймер начинался заново, а не накладывался друг на друга в tkinter?

    Vindicar
    @Vindicar
    RTFM!
    Сделать count глобальной переменной. Тогда её значением можно будет управлять извне countdown().
    Ответ написан