• Ошибка TypeError: 'int' object is not subscriptable в списке, как решить данную проблему?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Перечитайте, что возвращает метод строк .index - явно не то, что вы ожидаете.
    Ответ написан
    Комментировать
  • AIOGRAM TypeError: State.__init__() got multiple values for argument 'state' в чем может быть ошибка?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Проблема в том, что вы не читаете документацию, вот и сейчас не прочли документацию о том, как правильно размещать код здесь.
    Ответ написан
    Комментировать
  • Как отправить несколько фото через телеграм-бот?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Накосячил в том, что не читал документацию API телеграма, не разбирался, а притащил сюда бред от чатжпт и хочешь, чтобы за тебя разбирались.
    Ответ написан
    Комментировать
  • Как записать Словарь в CSV по столбцам в Python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    У меня ваш код работает отлично. Создает csv с разделителями запятыми, корректно открывающийся в стороннем приложении (например, Numbers на macos).

    Возможно, вам хотелось сделать csv с табуляциями - используйте параметр dialect (описан в документации к библиотеке csv).
    Вот я чуток переделал для примера:
    import csv
    import os
    from pathlib import Path
    
    # Данные из переменной 'a'
    my_row = {
        'url': 'https://www.coindesk.com/policy/2024/08/08/ftx-alameda-ordered-to-pay-127b-to-creditors-by-us-judge/',
        'title': 'FTX, Alameda Ordered to Pay $12.7B to Creditors by U.S. Judge',
        'author': 'Shaurya Malwa',
        'date': 'Aug 8, 2024 at 6:44 a.m. UTC'
    }
    # делаю три строчки для примера массива.
    data = [my_row] * 3
    
    # Имя CSV файла
    dir_path = Path(os.path.dirname(os.path.realpath(__file__)))
    pathname = dir_path / 'data'
    if not pathname.exists():
        os.mkdir(pathname)
    filename = pathname / 'data3.csv'
    
    
    
    # Открываем файл в режиме добавления (append) с возможностью чтения (a+)
    with open(filename, mode='a+', newline='', encoding='utf-8') as file:
        # Создаем объект writer для записи данных в CSV
        writer = csv.DictWriter(file, fieldnames=data[0].keys(), dialect='excel-tab')
    
        # Если файл пустой или только что создан, записываем заголовки
        if not filename.exists() or file.tell() == 0:
            writer.writeheader()  # Записываем заголовки (названия столбцов)
    
        # Записываем строки данных (содержимое столбцов)
        for row in data:
            writer.writerow(row)
    Ответ написан
    1 комментарий
  • Как закрасить объединение или пересечение фигур в turtle?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Если надо именно решить задачу - не надо автоматизировать подсчет. В задаче этого не требуется.
    Рисуете кружочки в этом вашем цикле for x: for y: с шагом вашего scale и считаете глазами.
    Ответ написан
    2 комментария
  • Почему пропал интернет после отключения электричества?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Можно еще позвонить провайдеру в колл-центр и попросить оформить претензию, в претензии указать что более суток отсутствие связи, попросить сделать перерасчет и устранить обрыв. Возможно, пошевелятся, когда начнешь деньгами их щемить. Но не гарантия, это как повезет. Попроси также указать входящий номер претензии. Они обязаны это предоставить.

    Если оператор откажется, запиши как он представился, время, и пиши по электронной почте на info@rt.ru претензию в свободной форме, но с указанием реквизитов договора. Там и про отсутствие связи, и про оператора, и требование перерасчета, и что оставляешь за собой право обратиться за защитой своих прав в суд.
    Всё, что приходит на эту почту, обязательно оформляется как входящие и попадает в документооборот с тикающим таймером. Обработают, иначе премии лишатся.
    Ответ написан
    Комментировать
  • Как сделать множественное условное форматирование?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    ortsuev33, это разовая задача, регулярная, периодическая? Ручная, автоматизация? В зависимости от этого можно подобрать самые разные варианты решения. В общем случае лучше скрипт написать.

    Если это разовый ручник (создал таблицу, отформатировал и в дальнейшем не меняется диапазон, только данные) - можно выделить весь диапазон и Условное форматирование/Правила выделения ячеек/Повторяющиеся значения.
    Ответ написан
  • Как можно сделать автозаполнение шаблона Word с помощью Python?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Пользуйтесь поиском. Он рулез.
    Когда мне понадобилось это, я нарыл очень быстро.
    Ответ написан
    Комментировать
  • Суть работы метода count в python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Вот так будут перекрывающиеся:
    s = 'privetprivetprivet'
    sub = 'privetprivet'
    print(s.count(sub))

    и ответ будет 1
    Ответ написан
    Комментировать
  • Как получать уведомление на телефон при вкл/откл электричества дома?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Как вариант есть облачные сервисы heartbeat, к примеру есть относительно бесплатный UptimeRobot. Их можно довольно гибко настроить, и получать уведомления, проверять можно http, ping, конкретный порт, другие варианты. К примеру, проверять доступность какого-либо порта, открытого наружу на маршрутизаторе.
    Ответ написан
    Комментировать
  • Можно ли напрямую подключить кулер(вентилятор) к повышайке на 24V 2A?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Для аккумулятора опасно, так как повышайка не контролирует его степень разряда. Необходим контроллер заряда/разряда аккума, а после него повышайку. Ну и КПД будет не слишком высокий.

    А можно собрать шесть аккумов последовательно - контроллер 6s с балансировкой надо.
    Ответ написан
    1 комментарий
  • Как в Unity при столкновении вывести счет на Text?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Надо нанять программиста
    Ответ написан
    Комментировать
  • PythonMagick tkinter?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Если выдает непонятно что, то надо где-то что-нибудь исправить на кое-что и потом нажать на что попало.
    Ответ написан
    Комментировать
  • У меня скрипт для рассылки друзьям на Python, хочу отправлять сообщения по номеру телефона, но получается только по username, как решить?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Элементарно.
    Делаешь общую группу
    «маи самыи лудшыи расылки»
    и туда сразу подписываются все твои друзья. Туда им и пуляешь приглашение.
    Ответ написан
    Комментировать
  • Как так транспонировать строки чтобы можно было как вариации загрузить товары?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Штатными средствами excel это немного геморно. Но если это надо делать руками время от времени, есть очень хорошая коллекция скриптов (но платная, но недорогая). Я ее как купил лет 5 назад, и счастлив безмерно. Для тех, кто в excel живет и не любит под каждый чих писать код vba, самое оно.
    Поищите «планета excel». Есть на месяц пробный срок.

    Там в коллекции есть инструмент «преобразовать таблицу в плоскую», и именно этим инструментом можно сколь угодно извращенную таблицу привести в требуемый вам вид.

    А вообще там несколько десятков инструментов, из которых я лично использую десятка полтора прям ежедневно. Очень рекомендую.
    Ответ написан
    Комментировать
  • PyCrypto ValueError: Incorrect IV length (it must be 16 bytes long) даже при полном копировании iv?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Да здравствует костылестроение!
    Выкинул всякую ерунду, оставил возню с iv.
    Копипастим строку числел с запятыми после IV (пофиг со скобками или без) и вставляем на запрос
    enter iv :

    from Crypto.Random import get_random_bytes
    import struct
    
    
    def StartEncrypt():
        # Генерация случайного IV (Initialization Vector)
        iv = get_random_bytes(16)
        print(len(iv))
        print(iv)
        # Вывод информации о результате шифрования
        print(f'IV: {struct.unpack("b"*len(iv), iv)}')
        
    
    def StartDeCrypt():
        # IV, полученный при шифровании
        data = input("enter iv :")
        for item in ['(', ')']:
            data = data.replace(item,'')
        str_iv = tuple(map(int, data.split(',')))
        print(str_iv)
        iv = struct.pack('b'*len(str_iv), *str_iv)
        print(iv)
        print(len(iv))
        
    StartEncrypt()
    StartDeCrypt()

    16
    b'?\x06\x8f\xe9\xde!\xa0\xa8\x07\xfc\xb9\x1b\xb2X\x1e\x96'
    IV: (63, 6, -113, -23, -34, 33, -96, -88, 7, -4, -71, 27, -78, 88, 30, -106)
    enter iv :63, 6, -113, -23, -34, 33, -96, -88, 7, -4, -71, 27, -78, 88, 30, -106)
    (63, 6, -113, -23, -34, 33, -96, -88, 7, -4, -71, 27, -78, 88, 30, -106)
    b'?\x06\x8f\xe9\xde!\xa0\xa8\x07\xfc\xb9\x1b\xb2X\x1e\x96'
    16
    Ответ написан
    Комментировать
  • Как поставить на ubuntu-18.04.6 python-nfqueue_0.5-1build2_amd64.deb?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Важный момент до всего остального: попытка что-то делать со встроенным Python системы - это путь к проблемам. Его надо оставить в покое и ни в коем случае не трогать - пусть живет своей жизнью, обновляется системой, если ей надо.
    Если вы поменяете версию Python, а в системе от нее что-то зависит - всё может упасть в пропасть.

    Я бы советовал сделать виртуальное окружение для вашего конкретного проекта и в него ставить ту версию Python, которая нужна для используемых в проекте библиотек и фреймворков. Другой проект - своё окружение, свои версии.

    Теперь что касается конкретно вашего вопроса: если я ничего не путаю, то, что вы хотите установить, требует версию 2.7х и меньше 2.8.
    В вашей ОС стоит наверняка что-то вроде python 3.x, и это плохо совместимо с веткой 2.х.
    Фактически, если вы хотите использовать эту библиотеку, надо ставить 2.7х версию в виртуальное окружение и там с ним бороться. Но я бы не советовал, 2.х ветка устарела очень сильно и мало кто с ней сейчас занимается. Возможно, надо поискать библиотеку поновее.
    Ответ написан
    1 комментарий
  • Как сделать так, чтобы телеграмм бот отвечал определенным сообщением на неопределенное?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Положим, у вас есть ряд определенных сообщения, значит у вас будет примерно так:
    Если входящее сообщение входит в список определенных, отвечаем сообщением, определенным для определенных; иначе отвечаем сообщением, специально определенным для неопределенных сообщений.

    ЕВПОЧЯ.
    Ответ написан
    Комментировать
  • Парсинг виджета AppEvent через GColab?

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

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


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

    P.s.: Вроде бы есть какие-то библиотеки типа requests_html, якобы умеющие в JS, поищите.
    Ответ написан
    2 комментария
  • Как вставить фото через ссылку в телеграме не отображая ссылки?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Посмотрите тут
    Тут показано, как получить объект изображения из URL при помощи библиотеки PIL. Когда будете с PIL разбираться, поищите тут по сайту есть много вопросов о том, как с ним бороться.

    В этом примере используется отправка объекта по URL в телеграм.
    Об это подробнее почитайте тут

    Но у вас в коде написано bot.send_message(…)
    bot это очевидно экземпляр класса, а .send_message(…) его метод. Очевидно, внутри этих класса и метода спрятаны механизмы отправки, подобные описанным выше во второй ссылке.

    Но их точное содержание нам неизвестно. Поэтому мы точно не знаем, можно ли использовать в вашем боте объект из первого примера и как именно.
    Вам надо прочесть код, на котором построен ваш бот, разобраться, как именно он устроен и какое отношение имеют его методы к описанным во второй ссылке подробностям.

    Тогда у вас будет два варианта:
    Вы обнаружите, что в вашем боте всё прекрасно и осталось лишь правильно передать объект изображения, тогда смотрите первую ссылку.
    Вы обнаружите, что в вашем боте надо дописать специальный метод для отправки именно таких объектов, тогда дописываете на основе первой ссылки с учетом сведений из второй ссылки.
    Также имеет смысл почитать API телеграм, там могут быть какие-то уточнения относительно сведений по ссылкам, может уже что-то поменяли.
    Ответ написан
    Комментировать