Задать вопрос
  • Возможно ли запихать python файл в картинку?

    @Everything_is_bad
    Запихнуть можно, самозапуск нельзя, кто-то или что-то должно явно это сделать (исключения - уязвимости системы)
    Ответ написан
    3 комментария
  • Почему выключается VK бот?

    @Everything_is_bad
    Screen остается активным бот просто вылетает. при повторном перезапуске все ок.
    потому что надо делать сразу по нормальному:
    1. запускать через systemd, там будет и автозапуск с перезапуском при падении, и прочее
    2. ну и настроить логирование
    Ответ написан
    1 комментарий
  • Как "зафиксировать" список в питоне?

    fenrir1121
    @fenrir1121
    Начни с документации
    Вернуться к изучению основ, разобраться как работают изменяемые объекты, что такое передача по ссылке и по значению, формулировать какую вообще задачу вы решаете подобным кодом.

    Сейчас вы ссылаетесь на один и тот же объект 3 раза, вместо создания нового объекта.
    Исправляется созданием плоской копии списка.
    lst = []
    l = []
    for i in range(3):
        l.append(i)
        lst.append(l[:])
    print(lst)
    Ответ написан
    Комментировать
  • Как создать своего Телеграм-бота для Google Таблицы?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Это возможно

    Вы не можете публиковать задания тут. Найдите исполнителя там https://freelance.habr.com/
    Ответ написан
    Комментировать
  • Как можно сравнить полученный ботом id пользователя с каждым id из БД SQLite с помощью цикла?

    @Everything_is_bad
    никак, цикл тут не нужен, нужен учебник по SQL и минимум читать от начала до раздела про WHERE

    time.sleep(1.5) вот еще один фейл

    PS 100500 раз сказано, написание ботов не лучший способ учить питон, скорее один из худших.
    Ответ написан
    2 комментария
  • Знаю только Python и SQL. Нужно ли наращивать стек знаний перед попыткой смены работы?

    Перед сменой работы следует сначала пройти собеседование и получить оффер, иначе рискуешь остаться и без воробья и без журавля.

    или мне в настоящее время стоит относить себя к т. н. «Разработчикам приложений» (по классификации «Хабр Карьеры»)

    То что ты описываешь - похоже на бэкендера.

    Нужны ли на рынке труда специалисты с таким стеком за такую зарплату

    Вопрос не имеет смысла, ибо он не отвечает на главный вопрос - найдёт ли конкретный соискатель себе рабочее место.
    надо заняться самообразованием, изучая, скажем связку FastAPI + Kafka + Kubernetes?

    Самообразование никогда лишним не будет.
    Ответ написан
    Комментировать
  • Как отправить сообщение в указанное время с помощью isoweekday из библиотеки datetime?

    Vindicar
    @Vindicar
    RTFM!
    dt_string = now.strftime("%d/%m/%Y %H:%M:%S")   # метка времени вида дд/мм/гггг чч:мм:сс
    if (dt_string == "19:04:00") and x == 6:  # ВНЕЗАПНО метка времени вида чч:мм:сс, дата куда-то пропала

    Что ты ожидал-то? =)

    А вообще, aioschedule в помощь, если у тебя будет несколько таких напоминашек.
    Там достаточно один раз наладить запуск рабочего цикла aioschedule, и дальше просто планировать что делать.
    Ответ написан
    7 комментариев
  • Распознавание капчи на python, как улучшить результат?

    Vindicar
    @Vindicar
    RTFM!
    Ну так ты хреначишь BGR2GRAY+пороговое преобразование с фиксированным порогом, и думаешь что оно само сработает? Волшебную кнопку ждёшь?
    Попробуй перегнать в HSV и поэкспериментируй с каналами, посмотри, какой наиболее информативный. Используй алгоритм Otsu для определения порога.
    Попробуй разбить текст на символы, например, через connected components with stats. Если символы не касаются друг друга, должно сработать. Если касаются, то будет сложнее - нужно будет как-то разделять их ДО порогового преобразования.
    Потом уже пробуй распознать каждый символ. Если шрифт всегда один и тот же, то может и pytesseract не понадобится, просто собери образцы символов и ищи их через generalized Hough-Guil.
    Ответ написан
    Комментировать
  • Автоматизация заказа из кофеаппарата?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Без привязки к кофе.
    1) Вещь должна быть "умной" - позволять ее управлять.
    Без проводов это можно реализовать через
    а) IR - инфракрасный пульт
    б) Bluetooth/BLE
    в) WiFi

    Bluetooth - это аналог классического COM порта в Windows. Управление как просто потоком байтов, так и пакетная структура команды (байт начала, заголовки, нагрузка, контрольная сумма/байт конца)
    В общем как придумал производитель.

    BLE - может эмулировать COM через пару гатт характеристик. Ну или им производитель придумал свое назначение

    WiFi - тут обычно клиент запущенный на устройстве лезет в облако производителя.

    Часто через блютуз сделана только настройка подключения к вайфаю, а дальше работает mqtt клиент (или подобный ему)

    Выше были копеечные решения (меньше 1 доллара для производителя)

    Далее внутренний микроконтролер со своим апи ( веб интерфейсом )
    REST / WS апи. Интеграция с облаком (умного дома)
    Ответ написан
    Комментировать
  • Парсинг виджета AppEvent через GColab?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Коротко: никак. BS4 не решает вашу проблему. Это просто разбиралка полученного текста.
    Вам надо получить текст, а его, конечно, генерирует какой-то код, вероятно JS, который вам загружает страница, но он у вас не исполняется, так как requests не умеет исполнять код JS.

    Есть два пути:
    • Разбираться, что за код загружается, и как-то его пытаться выполнить, или сгенерировать запросы, которые этот код шлет;
    • либо использовать управление браузером, который это всё проделает. Типа webdrive (Selenium и т.п.)


    Ну и еще пользоваться поиском, подобный вопрос задают тут раз в неделю уже который год.

    P.s.: Вроде бы есть какие-то библиотеки типа requests_html, якобы умеющие в JS, поищите.
    Ответ написан
    2 комментария
  • Почему не работает код telegram для уведомления о новых видео в python?

    @Everything_is_bad
    PS: И да, этот код я сделал благодаря Chat-GPT 4 Turbo
    вот его и проси исправить
    Ответ написан
    Комментировать
  • Как в название одной переменной внести значение другой переменной?

    Vindicar
    @Vindicar
    RTFM!
    Это можно сделать, но в 99% случаев это не нужно делать. Во-первых, пользователь может ввести строку, которая не является корректным идентификатором. Во-вторых, появляется риск нечаянно перезаписать переменную, которую мы не хотели трогать.
    Вместо этого следует использовать словарь (dict), где ключ - имя "переменной", а значение - её содержимое. Это куда более контролируемо.
    Нет, я хочу выстрелить себе в ногу, и санитары меня не остановят!

    Функция globals() возвращает словарь глобальных переменных, а locals() - словарь локальных.
    При этом эти словари - не копии, а, можно сказать, оригиналы. Добавишь в них новый ключ - появится новая переменная. Вот пример в интерактивной консоли питона:
    Python 3.11.7 (tags/v3.11.7:fa7a6f2, Dec  4 2023, 19:24:49) [MSC v.1937 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> l = locals()
    >>> l['x'] = 1
    >>> x
    1
    >>>

    Ответ написан
    Комментировать
  • Как работают рекурсии?

    Vindicar
    @Vindicar
    RTFM!
    Raddzor788,
    Где хранятся все эти значение 1,2,3,4, ведь у моего 'x' нету же звездочки(*х), чтобы собрать столько аргументов.

    Твой x - это несколько разных x. Потому что есть такая вещь как области видимости. Обычно есть область видимости функции (локальная) и глобальная область видимости скрипта. Если функция не видит нужного имени в локальной области - она ищет в глобальной. Если не видит и там - ищет в __builtins__.
    0. По умолчанию есть глобальная область видимости скрипта.
    1. При вызове func(1) создаётся локальная область видимости (скажем, А), в ней создаётся имя x, указывающее на 1.
    2. Отработало условие 1 < 4.
    3. Вызывается func(2). При этом создаётся НОВАЯ локальная область видимости Б (потому что новый вызов функции), в ней создаётся имя x, указывающее на 2.
    4. Отрабатывает условие 2 < 4.
    5. Вызывается func(3). При этом создаётся локальная область видимости В, в ней создаётся имя x, указывающее на 3.
    6. Отрабатывает условие 3 < 4.
    7. Вызывается func(4). При этом создаётся локальная область видимости Г, в ней создаётся имя x, указывающее на 4.
    8. Условие 4 < 4 не отрабатывает. Происходит вызов print(x) - имя x находится в текущей локальной области Г, выводится ассоциированное с ним значение 4. Отрабатывает print(4), происходит возврат из функции, область видимости Г уничтожается.
    9. Происходит вызов print(x) в предыдущем "слое" рекурсии. Текущая локальная область видимости В - в ней имя x связано со значением 3. Отрабатывает print(3), происходит возврат из функции, область видимости В уничтожается.
    10. Происходит вызов print(x) в предыдущем "слое" рекурсии. Текущая локальная область видимости Б - в ней имя x связано со значением 2. Отрабатывает print(2), происходит возврат из функции, область видимости Б уничтожается.
    11. Происходит вызов print(x) в предыдущем "слое" рекурсии. Текущая локальная область видимости А - в ней имя x связано со значением 1. Отрабатывает print(1), происходит возврат из функции, область видимости А уничтожается.
    12. Мы вышли из всех слоёв рекурсии. Мы находимся в теле скрипта и работаем только с глобальной областью видимости.
    Ответ написан
    Комментировать
  • Почему не срабатывает if? как это пофиксить?

    Vindicar
    @Vindicar
    RTFM!
    Учи основы работы с файлами в питоне и включай голову.
    Чтение и запись в файл производится по т.н. текущей позиции. При открытии файла текущая позиция стоит в начале файла, а при чтении/записи она смещается на длину прочитанного/записанного.
    А теперь смотри что ты делаешь. У тебя есть вызов fr = f.readlines(). Он построчно прочитает всё содержимое файла в список, и сохранит список в переменную fr. При этом текущая позиция окажется в конце файла - ты же прочитал всё содержимое.
    Как следствие, все дальнейшие вызовы read() и readlines() не смогут прочитать НИЧЕГО - ты уже в конце файла, дальше ничего нет. Они будут возвращать пустую строку или пустой список - а ты этого явно не ожидаешь.
    Раз уж ты читаешь весь файл в fr - то и дальше работай не с файлом, а со списком fr. Ну и проверка на chat_id у тебя кривая - что, если так совпадёт, что твой chat_id будет содержаться внутри второго значения (токен)? Такое может произойти, хоть это и маловероятно.

    Я бы посоветовал не выпендриваться со своим форматом данных в текстовике, а использовать модуль json. Он гораздо удобнее для хранения структурированной информации. А если указать правильные параметры при записи в файл, то полученный файл будет более-менее человеко-читаемым.
    Ответ написан
    2 комментария
  • Возможно ли через перепрошивку зарозить руткитом прошивку Rasberry pi?

    Память с подобием бутлоадера записана в ROM: её в принципе нельзя "перепрошить".
    => Пока у тебя безопасная система на sd-карте - ты в безопасности.

    https://security.stackexchange.com/questions/18314...
    https://forums.raspberrypi.com/viewtopic.php?t=345420
    https://www.researchgate.net/publication/334704944...
    https://ieeexplore.ieee.org/document/8770027

    Все мы знаем

    Кто "мы"?

    Если что я знаю что это возможно вопрос немного другой

    Тогда и задавать надо этот самый "другой" вопрос.

    были ли уже случи массовых зарожений через этот метод?

    Если бы были - была бы информация в интернете. Если есть такая информация - значит ты и сам мог загуглить её.
    Ответ написан
    Комментировать
  • Что я делаю не так Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    знатоки, которые подскажут, что я забыл

    Вы забыли изучить особенности работы вашей операционной системы с типами файлов.
    Вам нужно прописать ассоциацию *.py файлов с python.
    Однако в любом случае это странный способ запускать питоновские скрипты. Обычно это делают в консоли через venv.
    Но так как вы хотите тоже можно, конечно. Для очень специфических нужд...
    Гуглите, короче, как прописывать ассоциации файлов в вашей системе.
    Я в винде ничего не делал уже лет 10, не помню где там оно.
    Ответ написан
    Комментировать
  • Как получить user.id боту aiogram 2.23.1 через ответ на сообщение?

    @Everything_is_bad
    Мне нужно чтобы я отвечал на чьё то сообщение
    нет, тебе это не нужно, тебе нужно научиться читать доки, либо уметь гуглить, ну и перестать писать новых ботов на устаревшей версии aiogram
    Ответ написан
    3 комментария
  • Хостинг PythonAnywhere: выходит ошибка на начальный файл. Что делать?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Читать правила PythonAnywhere. Ещё можно поиском здесь воспользоваться, такой вопрос уже много раз задавали.
    Ответ написан
    1 комментарий