Задать вопрос
  • Ошибка в консоли что делать?

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

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Вы должны делать всё наоборот:
    Вам надо работать только в модуле main, и в него импортировать в т.ч. функции из других модулей. Тогда импортированным функциям при их вызове из кода main станут доступны необходимые переменные.
    Лучше всего делать функции так, чтобы они явно получали в параметрах все необходимые им переменные и явно возвращали все результаты через return. Тогда будет меньше риска, что где-то что-то будет происходить «само собой».
    Ответ написан
    Комментировать
  • Как запустить Selenium+Opera?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Ваш код пытается использовать webdriver-manager, который должен по-идее скачивать бинарник webdriver, соответствующий вашей версии браузера. Наверняка, webdriver-manager поддерживает только определенные версии браузеров, не вообще все.

    Вам надо установить в системе ту версию браузера, которую webdriver-manager в принципе может скачать (как сказано в ошибке, начиная с в.111).
    Либо надо переделать код, убрав работу с webdriver-manager и сделав «по классике», глазами самостоятельно определить версию своего браузера, руками скачать соответствующий выявленной версии браузера бинарник webdriver, положив его в удобное вам место и указав при вызове webdriver в своем коде, где искать бинарник. Это делается через параметры options обычно, почитайте документацию к своей версии selenium.
    Ответ написан
    1 комментарий
  • Как можно отправить трейд не получив ничего в замен?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Если такой обмен совершить в принципе возможно, вам надо изучить steam API и понять, как именно в нем совершить такое действие.

    Возможны два варианта:
    1. Вместо обмена в API есть специальная команда «отдать», либо в виде специального параметра к команде обмена.
    2. Возможно, существует специальная шмотка типа «ничего», которую можно получить при отдаче своей обычной шмотки.

    Когда вы поймете, как именно совершается такая операция на уровне API, можно двигаться дальше.

    Если есть специальная шмотка «ничто», то и надо её указывать вместо None, проблема решится.

    Если же есть специальная команда «отдать», то её и надо использовать (возможно, реализовать в вашем коде).

    Вопрос, по-сути, не относится к особенностям языка Python, тут дело именно в steam.
    Ответ написан
    Комментировать
  • Построение нейро-нечетких сетей?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Что значит «дали мне курсач»? Вы что, раб на плантациях?
    Вам самостоятельно надо выбрать такую тему курсача, которая в дальнейшем сможет стать фрагментом диплома. К примеру, частью главы про теорию и/или практику, про существующие методы и подходы, или про направления поиска новых решений, или про экономическую составляющую, и т.п.
    И так должна каждая курсовая, каждый доклад работать на будущую цель.

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

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Самый простой вариант - сложить все строки в список и выдергивать их оттуда методом .pop(), отлавливая соответствующий exception об отсутствии элементов в списке. Недостатки:
    • при перезагрузке бота всё начнется сначала.
    • всё это будет работать только для одного клиента, если их станет одновременно несколько, всё запутается.

    Для работы с несколькими пользователями надо делать через счетчик и для каждого пользователя свой счетчик заводить и хранить его вне кода, каждый раз меняя. Или пересохранять в файл типа json, или хранить в БД. С файлом проблема с одновременным доступом, надо затевать очередь и асинхронный доступ.
    Лучше в БД, это универсальней и надежней, но несколько замороченнее. Зато там можно всё хранить, и ваши строки, и всех пользователей со всеми их атрибутами.
    Ответ написан
    Комментировать
  • Pycharm виртуальное окружение?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    А у вас проблема со скачиванием? Трафик платный?
    Если проблема именно в скачивании, можно положить все необходимые библиотеки в виде wheels в папочку и оттуда устанавливать каждый раз, изучите параметры команды pip.

    С использованием одной и той же УСТАНОВЛЕННОЙ библиотеки есть проблема.
    Представьте, что у вас на библиотеке 3-й версии построено 5 программ. Появилась 4-я версия, и вы решили обновить версию библиотеки для последней разрабатываемой программы - упс! Поломались все 5 программ, каждая - по-своему.

    Каждый проект должен иметь собственное окружение с собственными версиями библиотек и самого Python.

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Мне кажется, вы неправильно поняли задачу.
    Сделал вам иллюстрацию:
    def enlarge(list_arr, multi=2):
        result = []
        if list_arr in [[''], []]:
            result = list_arr
        else:
            for row in list_arr:
                new_row = ''.join([i*multi for i in row])
                for _ in range(multi):
                    result.append(new_row)
        return result
    
    def print_pic(picture):
        for row in picture:
            print(row)
        print()
    
    
    pic = ['1001', '0011', '0101', '1111']
    print_pic(pic)
    print_pic(enlarge(pic))
    print_pic(enlarge(pic, 3))
    
    print(enlarge(['']))
    print(enlarge([]))
    Ответ написан
  • Как ускорить создание многоуровнего меню с инлайн кнопок?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Для этого придуманы классы. Делаете базовый класс «категория сферическая в вакууме», от него наследуются остальные категории. То же и с позициями - класс «базовая позиция», от него - все остальные позиции.
    Таким образом у вас будет скелет, на который можно натягивать нужные «шкурки».
    А чтобы указать, какие именно шкурки, вам надо сделать для каждого класса банальную таблицу, где каждому объекту (строке) указано, с какими параметрами использовать класс для создания экземпляра, где его хранить, как идентифицировать, к какому множеству он относится и всё такое. Удобно в базе данных делать.
    Фактически, класс с его атрибутами в программе должен быть отражением таблицы в базе, со всеми её полями.
    Сделать и наполнить таблицу и затем работать с нею через класс намного проще, чем каждый экземпляр «выпиливать лобзиком».
    Ответ написан
    Комментировать
  • Как вытащить из PDF текст?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Вы не тем занимаетесь. Если вам нужно изучать язык программирования, так изучайте. Поверьте, Лутц это не на пару дней работы.
    Хотите относительного комфорта - возьмите планшет типа старого iPad с достаточной диагональю и читайте свой pdf с планшета.
    Не смотря на наличие бумажного тома я сам делал именно так. Недорогой б/у планшет с хорошим дисплеем будет дешевле или сравнимо со стоимостью бумажной книги. И полезнее и универсальнее.
    Ответ написан
  • Как решить проблему с выводом аудио файла через бота тг?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Исправлять за вас никто не будет, скорее всего.
    Рекомендую либо сделать проверку состояния url-параметра requests что оно is not None, либо обрабатывать вашу конкретную ошибку при помощи try/exception.
    Ответ написан
    Комментировать
  • Как записать ошибки с консоли в txt файл?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Можно вначале выполнения скрипта перенаправить вывод в файл, т.е. ссылки на потоки stdout и stderr привязать к выводному файлу. Тогда всё туда выведется средствами самого Python - и ошибки и print-ы.
    Правда, при этом в консоль ничего не выведется.
    Ответ написан
    Комментировать
  • Зачем ПК отключает USB перед загрузкой ОС?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Если дело именно в питании, я бы попробовал вариант с usb-хабом с внешним питанием. Возможно, там устройство не отключится.

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

    Также имеет смысл заглянуть в расширенные настройки управления питанием windows, там есть что-то вроде USB selective suspend или что-то такое.
    Ответ написан
  • Так какой же приоритет операторов == и in?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Оно равносильно записи print(5 < 4 > 3)
    или
    print(True == 0 and 0 in [0])
    Ответ написан
    4 комментария
  • Почему не работает код?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Очевидно, что split(“\t”) ничего не сможет поделать со строкой '1368050000\nIndia', где нет \t
    Ответ написан
    9 комментариев
  • Как вызвать функцию с аргументом message в Python?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Конструкция my_value == “start” or “выбрать игру”
    всегда, когда my_value не равно start, вернёт строку «выбрать игру».
    Видимо, это не то, что вы ожидали.

    Кроме того, в параметре хэндлера имя переменной в лямбде messsage, а функция ожидает message, есть ощущение, что это не то, что планировалось.
    Ответ написан
    1 комментарий
  • Как отобразить работу скрипта Python запущенного через systemctl?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Как вариант можно в начале скрипта переобъявить стандартный вывод как вывод в файл, и до окончания работы скрипта все print-в будут выводиться в указанный файл.
    Ответ написан
    6 комментариев
  • Как решить проблему "TimeoutError: [Errno 110] Connection timed out"?

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

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Pycharm поддерживает версии начиная с 3.6
    Ответ написан