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

    Vindicar
    @Vindicar
    RTFM!
    Настрой свой редактор на отступ четырьмя пробелами и не путайся.
    Я навскидку вижу только это
    with open("citilink4.html") as file:
       src = file.read()

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

    Vindicar
    @Vindicar
    RTFM!
    Ну для начала определи смысл слова "выключить".
    Если приложение заняло микрофон, оно им управляет. Максимум, что ты можешь - это "попросить" приложение замьютить микрофон. Например, имитировав щелчок по соотв. кнопке или нажатие соотв. комбинации клавиш. Разумеется, это зависит от приложения.
    Скорее всего, это единственный реальный для тебя вариант, так что смотри в сторону модулей pywinauto и pyautogui.

    Альтернатива - вырубить устройство через диспетчер устройств. Это не факт что просто, и неизвестно, как поведёт себя внезапно "оглохшее" приложение. Сможет ли оно потом подхватить микрофон обратно? Если да, как быстро? Это неизвестно заранее.

    Есть ещё экзотический вариант - использовать что-то типа Virtual Audio Cable, т.е. сделать управляемый тобой виртуальный микрофон, который просто передаёт звук с реального, и настроить приложения в системе на его использование. Тогда ты сможешь по желанию подменять звук этого микрофона на другой аудиопоток, в т.ч. на тишину. Но это ОЧЕНЬ нетривиальная задача для самостоятельной реализации.
    Ответ написан
    Комментировать
  • Наработает цикл for в цикле while что делать?

    Vindicar
    @Vindicar
    RTFM!
    Ну положим, в первом коде ты делаешь запрос с Num_bd = 0, а во втором ты начинаешь с Num_bd = 1 и так далее. У тебя в БД точно есть подходящие данные?
    Кроме того, else для for работает не так как ты думаешь. Ветка else отработает, если цикл for не был прерван оператором break.
    Ответ написан
  • Правильно ли я понимаю вызов декоратора?

    Vindicar
    @Vindicar
    RTFM!
    Да, первая запись - синтаксический сахар для второй.
    Ответ написан
    Комментировать
  • Почему список превращается в None при добавлении значения?

    Vindicar
    @Vindicar
    RTFM!
    Метод append() изменяет список "на месте", а не создаёт изменённую копию.
    Чтобы подчеркнуть это, append() возвращает None.
    Ответ написан
    Комментировать
  • Как правильно работать с циклом?

    Vindicar
    @Vindicar
    RTFM!
    Вместо итерации по списку сделай цикл по индексам. Цикл должен быть не for, а while, так как ты будешь менять параметр цикла (текущий индекс в списке) самостоятельно.
    Сначала текущий индекс 0.
    Если введена пустая строка, то индекс +1. Если индекс стал равен длине списка, решай что делать дальше.
    Если введена не пустая строка, то используешь метод index() чтобы найти индекс введённого элемента. Имей ввиду, если такого элемента нет, будет выброшено исключение. Его надо поймать.
    Ответ написан
    5 комментариев
  • Почему выводится ошибка ValueError на строке 10: I/O operation on closed file? Может с отступами что не так?

    Vindicar
    @Vindicar
    RTFM!
    Дай угадаю.
    1. Ты рассчитываешь стандартное отклонение последовательности.
    2. Последовательность заканчивается нулём.
    3. Ты это делаешь в рамках какой-то олимпиады или конкурса, где код выполняется в тестовом окружении (песочнице) с фиксированным вводом.

    Тестовое окружение подаёт на стандартный ввод твоей программы элементы последовательности. Твоя программа поглощает эти элементы вызовами input() в рамках первого цикла while.
    Подав всю последовательность, тестовое окружение, очевидно, закрывает стандартный ввод.
    Но ты СНОВА обращаешься к стандартному вводу (input()) в рамках цикла for! Поскольку ввод уже закрыт, генерируется исключение IOError.

    Что делать?
    Вариант 1. Сохраняй элементы в коллекцию, например в список, и итерируйся по списку для расчёта среднего и дисперсии. Может провалиться, если есть ограничение на потребление памяти при очень длинной последовательности на вводе.
    Вариант 2. Гугли one-pass dispersion calculation (однопроходный расчёт дисперсии). Есть формулы для расчёты среднего и дисперсии, которые позволяют их считать, не храня последовательность целиком, а только читая каждый элемент по мере его поступления.
    Зная дисперсию, найти стандартное отклонение тривиально.
    Ответ написан
    2 комментария
  • Uniqueviolation: duplicate key value violates unique constraint?

    Vindicar
    @Vindicar
    RTFM!
    Криво написан SQL.
    INSERT INTO memcfc (photo , name , discription) VALUES
            (' ? ',' ? ',' ? ');

    Ты передаёшь в качестве значений строки " ? ". Именно строку "пробел вопросительный знак пробел". Это НЕ плейсхолдер для подстановки параметра, подставляемые параметры в этом запросе игнорируются.
    Я так подозреваю, ты имел ввиду
    INSERT INTO memcfc (photo , name , discription) VALUES (?, ?, ?);

    (И да, правильно пишется dEscription)
    Ответ написан
    2 комментария
  • Как на python открыть содержимое pdf?

    Vindicar
    @Vindicar
    RTFM!
    По каким запросам гуглил? У меня вот "python render pdf to image" нашел пост, указывающий на pdf2image:
    from pdf2image import convert_from_path, convert_from_bytes
    # если у тебя есть именованный файл на диске
    images = convert_from_path('/home/belval/example.pdf')
    # или, если у тебя есть содержимое файла как объект bytes
    bytes_obj = open('/home/belval/example.pdf', 'rb').read()  # получаем объект bytes
    images = convert_from_bytes(bytes_obj)
    # так или иначе в images будет лежать список изображений PIL (пакет pillow), 
    # по одному на страницу. Их уже можно сохранять или делать с ними что-то ещё.

    Как вывести изображение PIL в GUI на PyQT - это уже второй вопрос.
    Ответ написан
    Комментировать
  • Как распределить цифры в питоне?

    Vindicar
    @Vindicar
    RTFM!
    Obbi-Man, абсолютно учебное задание, делай сам.
    Всё, что тебе нужно, это
    random.randint(), len() и оператор del

    Всё равно непонятно!
    Сделай список нужных чисел, генери случайный индекс (от 0 до длины списка - 1), добавь число по этому индексу в итоговый список, удали число по индексу из исходного списка. Повторяй, пока исходный список не пуст.
    Ответ написан
    Комментировать
  • Почему при вызове функции guild.members discord.py выводит только один профиль?

    Vindicar
    @Vindicar
    RTFM!
    Интент members задал? Дискорд посылает инфу о пользователях (как профили, так и события входа/выхода) только если бот её явно запрашивает при старте.
    Ответ написан
  • Как сделать чтобы одна команда моего бота дискорд работала только в одном канале, а в других нет Discord - Python?

    Vindicar
    @Vindicar
    RTFM!
    скорее всего по айди канала

    Да. Читай доки на параметр ctx, там есть сведения о канале.
    Ответ написан
  • Как можно определить что цвет относится к синему (оттенки синего)?

    Vindicar
    @Vindicar
    RTFM!
    Очевидно, нужно определить, что с твоей точки зрения "оттенок синего".
    Например, "синяя составляющая должна быть максимальной, и должна не менее чем в два раза превышать большую из красной и зеленой составляющих". Но этот подход ограничен, так как RGB (а точнее BGR) модель не слишком удобна для таких манипуляций с цветом.

    Для большего удобства переведи цвет в HSV. Тогда ты сможешь огранить цвет (H) некоторым диапазоном, задать минимально допустимую насыщенность (S, чем меньше - тем более серый цвет) и минимально допустимую яркость (V).
    Ответ написан
    1 комментарий
  • Как определить квадрат, прямоугольник и пустой фон OpenCV?

    Vindicar
    @Vindicar
    RTFM!
    Можешь попробовать найти контур, а потом использовать cv2.minAreaRect() для поиска минимального повёрнутого ограничивающего прямоугольника. minAreaRect() тебе вернёт кортеж вида (cx, cy), (w, h), angle, где cx, cy - координаты центра, w, h - размеры прямоугольника, angle - угол поворота в градусах.
    Имей ввиду, что отношение w/h будет близко к единице для квадратов, но не обязательно равно единице. Тебе придётся выбрать какой-то порог отсечения.

    А ещё посоветую ознакомиться вот с этой статьёй, там тоже интересный подход.
    Ответ написан
    1 комментарий
  • Как вставлять текст в поле Enter (tkinter)?

    Vindicar
    @Vindicar
    RTFM!
    Только что проверил, Ctrl-V работает.
    Если тебе нужно другое сочетание клавиш, то ЕМНИП это делается так
    entry_widget.event_generate('<<Paste>>')
    Привязываешь свою функцию к нужному сочетанию клавиш (это гуглится), и выполняешь эту команду, когда нужно вставить текст.

    Наконец, можно использовать Python пакет clipboard, чтобы читать прямо из буфера обмена.
    Ответ написан
  • Как запустить поток через время?

    Vindicar
    @Vindicar
    RTFM!
    Запустить поток сразу, но в потоке первым делом уснуть на заданное время?
    Объект timedelta имеет метод totalseconds(), который даст длительность интервала в секундах, как раз как это требуется time.sleep().
    Для небольших интервалов (в пределах минут) сойдёт.
    Ответ написан
  • Почему парсер выдаёт такое и как это решить?

    Vindicar
    @Vindicar
    RTFM!
    Не знаешь английского - засунь в переводчик.
    Первая строка сообщает, что питоновская библиотека urllib3 (requests - это обёртка над ней) коннектится к целевому сайту.
    Вторая строка сообщает, что сайт ответил на запрос кодом 200 ОК ("запрос принят, вот запрошенные данные").

    Это просто детальный, отладочный журнал работы, который не содержить никаких сообщений об ошибках. Ты же сам написал logging.basicConfig(level=logging.DEBUG), т.е. показывать отладочныые сообщения.
    Ответ написан
  • Почему я получаю ошибку End of statement expected("python")на 7 и 8 строке?

    Vindicar
    @Vindicar
    RTFM!
    img{"010011101": 'Cats'}
    Я не знаю, что ты пытался сделать, но это НЕ корректный синтаксис в Питоне.
    Ответ написан
    Комментировать
  • Что означает: аргументе функции?

    Vindicar
    @Vindicar
    RTFM!
    Аннотация типа аргумента. Интерпретатор питона его игнорирует, но IDE и статические анализаторы могут использовать эти сведения, чтобы поймать ситуации, когда в функцию передаются данные неверного типа.

    Также сама программа при желании может получить доступ к этим аннотациям. Есть библиотеки, которые этим пользуются.
    Ответ написан
    Комментировать
  • Почему RegexMatchError не отрабатывает в блоке except?

    Vindicar
    @Vindicar
    RTFM!
    File "C:\Users\vizzy\Desktop\program\testapi\bot\app_video\main.py", line 19, in create_video
        yt = YouTube(l)


    Этой строки нет в приведённом коде. У тебя исключение выбрасывается не внутри этого try, а где-то ещё.
    Ответ написан