Задать вопрос
Ответы пользователя по тегу Python
  • InvalidHeader и SSLError - как исправить?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Кстати насчетРугается на сертификат - sertifi вы импортировали, а использовать-то его?
    Ключ в requests.get(url, verify=certifi.where())
    Ответ написан
  • Как удалить лишний текст в Python скрипте?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    data = '"mail@xxx.com" <mail@xxx.com>'
    print(data.split('<')[1].split('>')[0])
    Ответ написан
    Комментировать
  • Как отформатировать вывод cmd?

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Пока что из ошибки можно вывести, что формирование параметров производится неверно. Должен быть ключ “token”, но его видимо нет в сформированных параметрах. Копайте туда.
    Ответ написан
    6 комментариев
  • Как свободно ходить по дереву json в обоих направлениях?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Не ленитесь гуглить. Вот с налету нашел вам пример реализации нужного вам json
    spoiler
    [
      {
        "id": 1,
        "parentId": null,
        "name": "Root",
        "children": [
          {
            "id": 2,
            "parentId": 1,
            "name": "Section A",
            "children": [
              {
                "id": 4,
                "parentId": 2,
                "name": "Page 1",
                "children": []
              },
              {
                "id": 5,
                "parentId": 2,
                "name": "Page 2",
                "children": []
              }
            ]
          },
          {
            "id": 3,
            "parentId": 1,
            "name": "Section B",
            "children": [
              {
                "id": 6,
                "parentId": 3,
                "name": "Page 3",
                "children": []
              }
            ]
          }
        ]
      }
    ]

    Корректируйте под свою задачу. Пишите соответствующий класс на Python для ноды этого json с нужными вам методами «получить_родителя», «получить_наследника», «проверить_корень_ли_я», ну и для создания-удаления наследников парочку методов.
    Ответ написан
    6 комментариев
  • Ошибка при нажатии кнопки "Next", (Instagram, Selenium) Как исправить?

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

    Кстати, модный deekpeek прекрасно умеет порезать такую портянку кода на ленточки, пробуйте.
    Ответ написан
  • Почему self интерпретируется как None в ходе инициализации __init__?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    def __init__(self, depth: int):
        self.split_pair: Optional[SplitPair] = None
    …
    def __str__(self):
        return str(self.split_pair)

    Полагаю, причина тут. self получает «строковое представление» “None”
    Ответ написан
    Комментировать
  • Как отправить запрос в LM Studio?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Прямо в опубликованной вами ссылке есть несколько примеров (example) под каждый метод API. Используется curl. Возьмите их и переделайте под свои задачи.
    Ответ написан
    Комментировать
  • Ошибка TypeError: 'int' object is not subscriptable в списке, как решить данную проблему?

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

    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 комментария
  • Суть работы метода count в python?

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

    и ответ будет 1
    Ответ написан
    Комментировать
  • У меня скрипт для рассылки друзьям на Python, хочу отправлять сообщения по номеру телефона, но получается только по username, как решить?

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

    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 телеграм, там могут быть какие-то уточнения относительно сведений по ссылкам, может уже что-то поменяли.
    Ответ написан
    Комментировать
  • Как создать offline карту на python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Надо нанять профессионала, заплатить ему аванс и дать ему задание. Затем получить результат и проверить на соответствие заданию. После доведения результата до финального соответствия заданию оплатить расчет.
    Ответ написан
    Комментировать
  • Как исправить ошибку "AttributeError: 'set' object has no attribute 'items'" в дискорд-боте?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В вашем коде несколько ошибок, одна из них - в качестве headers ожидается структура типа «словарь» («dict»), а вы создаете тип «множество» («set»).
    Должно быть что-то вроде:
    headers = {'user-agent': 'my-app/0.0.1', 'token': 'Токен есть если что'}

    и так далее, это прям из документации по requests

    Вторая ошибка - for lines in lines:
    очевидно надо что-то вроде
    for line in lines:
        …json = {"content": line}


    Исходя из всего этого видно, что хорошо бы разобраться со структурами вообще и в python со стандартными встроенными типами структур в частности, а также с итераторами и итерацией.
    Ответ написан
    1 комментарий