Задать вопрос
Профиль пользователя заблокирован сроком с 1 апреля 2025 г. и навсегда по причине: подозрительная активность
  • Что следует прочитать, посмотреть для того, чтобы написать парсер цен Amazon по ASIN?

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

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Сделай калькулятор, 2048, тетрис, блокнот - без графики. Потом с графикой. Потом в виде веб-приложения, многопользовательского, асинхронного, с базой данных, регистрацией, документированное, микросервисное, со 100% покрытием тестами…
    Ответ написан
    Комментировать
  • Как установить linux на general satellite C592?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    В этом устройстве в качестве центрального процессора используется нечто под названием st20, якобы risc-процессор; он является частью специализированной микросхемы-декодера производства OMEGA. По-моему, st20 это что-то сравнимое по возможностям с z80 процессором. По косвенным данным, сам st20 разработан до 1995 года. И его до сих пор используют во всяких встроенных штуках, так же как и другие процессоры прошлого века (тот же z80, i386, i486 и т.п.)

    Соответственно, даже если вы осилите его ассемблер и напишете к нему загрузчик, обойдя ограничения чипа-декодера, то загрузить и исполнить более-менее современное ядро linux оно не сможет. И никому оно не интересно для запуска на нем хоть чего-то, кроме того, подо что заточено.

    Если же вам-таки неймется, вам придется еще и осваивать создание и заливку прошивок во впаянные микрухи, где хранятся прошивки.
    Ответ написан
    Комментировать
  • Как и чем сравнить две папки, чтобы выявить файлы с разным содержанием?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    В macOS обычно есть встроенный python3, пусть старый (не надо обновлять штатный python! Если надо - добавьте рядом новую версию), но вполне должен справиться с такой проверкой.
    Не сложно и от руки написать, но вот есть библиотечка, возможно поможет.
    Ответ написан
    1 комментарий
  • Как дописать информацию в ячейках файла форматом csv?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Есть в excel - например, конкатенация формулой через &
    Типа = “http:” & A1
    Ответ написан
    1 комментарий
  • Как обрабатывать такие исключения в python?

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

    spoiler
    Но как это сделать практически, представляю смутно. Приходит в голову что-то вроде регулярного http-запроса и простенький локальный сервер, который слушает эти запросы и сбрасывает таймер. Главное, чтоб этот сервер не завис :))

    Вот, кстати, можно попробовать.
    И сервер какой-то простой…
    Ответ написан
  • Можете пожалуйста помочь с PYTTY?

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

    Ответ написан
  • Усиливает ли коммутатор сигнал ethernet?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    1. Коммутаторы нельзя бесконечно цеплять один за другим гирляндой. Формально можно вешать 7 коммутаторов один за другим (включая головной).
    spoiler
    Я бы не советовал на практике делать более 3 хопов, т.е. голова и два уровня коммутаторов; это моё субъективное мнение.

    2. Вам необходимо сделать «звезду» из оптического многопортового коммутатора концентрации (расположенного в серверной или в телекоммуникационном шкафу) и в каждый порт подключить по оптике коммутатор доступа с медными портами, расположенный в телекоммуникационном ящике в непосредственной близости от потребителя (до 100 метров). Каждый коммутатор должен питаться от ИБП. Кабели «витая пара» на заводе рекомендуется использовать экранированные, при этом очень важно правильно их заземлять, иначе будет только хуже.
    3. Это серьезная задача, своими силами вы такую задачу не решите (иначе уже бы решили). Рекомендую нанять профессионалов по созданию СКС.
    Ответ написан
  • Как сделать отправку списка пользователей каждый час в тг боте?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Полагаю, дело в том, что надо передавать в качестве параметра функцию или метод, а вы передаёте результат функции (т.е. уже вызванную функцию).
    aioschedule.every().second.do(schedule_refresher(types.Message))


    Это вызванная функция, она что-то возвращает, и то, что она возвращает, попадает у вас в параметр метода .do:
    schedule_refresher(types.Message)

    Это просто функция:
    schedule_refresher и её можно вызвать. Видимо, именно её надо передавать в параметр метода .do
    Например, вот так:
    aioschedule.every().second.do(schedule_refresher)

    Но тут надо вникнуть в вашу передаваемую функцию, я в нее не вникал. Возможно, вам надо обернуть свою функцию в другую и уже другую передавать в скидулер.
    Ответ написан
    Комментировать
  • Провайдер которая тянет выделеннку по физу?

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

    spoiler
    Прокладка не слишком толстого кабеля в грунт сейчас стоит где-нибудь от 200 тыс./км., включая материал, проект, оформление, стандартные согласования.

    Но если по дороге возникают: жадные собственники участка; автодороги; ж/д; газ/нефть… то это на полгода-год получения ТУ, согласований, платежей за выдачу ТУ, за согласования, за проверку выполнения ТУ и т.п. И не всегда удается порешать, иногда «нет технической возможности» и всё. Естественно, это за отдельные деньги, причем суммы могут быть любые вообще.

    Но вот если вы думаете, что прокладка кабеля это и всё, вы ошибаетесь. С одной стороны кабель закончится у провайдера, а это - вход в его кабельную канализацию, аренда канализации, аренда места на кабельросте (полка такая) и стойке в кроссе, где кабель будет расшит на соединительную панель.

    Если вы протанцуете этот танец, то вы получите темные волокна от провайдера до второго конца вашего кабеля.

    Со стороны провайдера вам надо подать в кабель сигнал. 10 Гбит, так-то это не мало, и для работы с таким гарантированным трафиком у провайдера должно быть соответствующее оборудование с соответствующим портом в вашу сторону и соответствующим аплинком «наверх». Если такового нет - добавляйте стоимость такого оборудования, его шеф-монтаж, настройку. Со своей стороны тоже в комп оптику просто так не воткнете. Тоже стойка, патч-панель оптическая, медиаконвертер, преобразующий оптику в медь (и не забываем про 10 Гбит, это сильно удорожает железо, да и медь тоже).

    И вот счастливый момент - вы протянули оптику, всё согласовали, всё настроили, заключили договоры аренды на землю, на канализацию, на место в стойке и место вашего кабеля на полках у провайдера. Заключили договор на поставку трафика, оплатили все затраты провайдера по подключению. Стали беднее на 5-6 миллионов, но зато обладатель канала связи.
    Всё, можно насладиться.

    Как же…

    Вот тут-то и начинается самая мякотка.
    Почему сигнал слабый? Почему со сбоями? Где мои 10 Гбит? Или вовсе пропала связь.

    Провайдер отвечает: «ничего не знаю, с моей стороны всё норм».

    Вы едете 20-40 км., чтобы убедиться, что да, с их стороны всё норм, а вот где и почему проблемы - неизвестно. Может, таки провайдер обманывает; может, где-то повреждение кабеля; может, плохой оптический контакт в разъеме; кот у вас дома перегрыз патчкорд; клали канализацию и порвали ваш кабель. И т.п.

    Вот поэтому провайдер не хочет связываться с прокладкой вам такого кабеля. Ему это не выгодно - эксплуатация не окупится, вы столько не будете платить, чтобы он мог выдерживать SLA по договору с вами.
    Ответ написан
    2 комментария
  • Нужно исправить ошибку EOFF ERROR,как это сделать?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Полагаю, вы хотели что-то такое получить:
    A = list(map(int, input().splitlines()))
    print(max(A) - min(A))


    В случае, если вам надо обязательно использовать iter, его во-первых наверное надо как-то развернуть, например через *, а во-вторых, надо сделать лямбду, которая будет делать strip и потом только int. Мне лень городить этот огород, если то же достигается проще.
    Ответ написан
    Комментировать
  • Как заставить код скачивать все документы с сайта?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В этом виновато ваше безответственное отношение к обработке исключений, а именно
    try:
                    response = requests.get(file_name, timeout=20)
                except:
                    print(f"err. conn: {file_name}")
                    continue

    Это означает: если любая ошибка, закрываем на это глаза, печатаем, что у вас печатается, и продолжаем.

    Вот оно печатает и продолжает.
    Вам надо разобраться, какую же оно теперь возвращает ошибку в теле try, и исправить её или правильно её обрабатывать.
    Ответ написан
    2 комментария
  • Как перезапустить весь скрипт с ботом?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Похоже на проблему XY.
    Можно так:
    def payload(counter):
        if input(counter):
            raise ZeroDivisionError
        counter += 1
        return counter
    
    
    def repeater():
        
        cnt = 0
        while True:
            try:
                cnt = payload(cnt)
            except ZeroDivisionError:
                print('\ncode restarted')
                repeater()
                
    
    repeater()


    Можно еще так:
    def repeate(func):
        cnt = 0
        while True:
            try:
                cnt = func(cnt)
            except ZeroDivisionError:
                print('\ncode restarted')
                func()
    
    @repeate
    def payload(counter=0):
        if input(counter):
            raise ZeroDivisionError
        counter += 1
        return counter
    
    payload()
    Ответ написан
    1 комментарий
  • Как решить ошибку urllib3.connection.HTTPSConnection object at 0x000001CA91BDF050: Failed to establish a new connection: [Errno 11001]?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Max retries exceeded with url: /rffi явно неверный хост вы передаёте.
    Ответ написан
  • Вызывает ошибку callbackquery has no attribute text.Как быть?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Zoomf192, основная проблема в том, что вы не разобрались, как работают и как и зачем устроены хэндлеры, но пытаетесь их использовать «по аналогии».
    Так не работает.

    Что именно вам надо писать? За вас никто делать работу тут не должен. С этим - на фриланс.

    И вообще, боты штука сложная и с налету их «за 30 минут» не сделать, это вас обманули.
    spoiler
    Подскажу, что хэндлер принимает в качестве параметра функцию. Например:
    @bot.callback_query_handler(func=lambda call: True)
    def handle_callback(call):
        bot.answer_callback_query(call.id, text='Callback received')

    Параметр func с лямбдой - это и есть пример такой функции, передаваемой как параметр хэндлера, означающий, что функция handle_callback, зарегистрированная при помощи обертки-хэндлера, при любом обратном вызове активируется, так как func просто всегда True
    Он может быть не явно True, там можно написать какое-то условие, которое при выполнении вернёт True и тогда хэндлер сработает.
    Как именно… посмотрите в самом коде telebot, на GitHub есть его код, там есть примеры, в т.ч. примеры callback.
    Ответ написан
    Комментировать
  • Как добавить значение в файл json через python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Простыми словами:
    • Загружаете JSON, получаете dict (словарь)
    • Вносите в словарь необходимые изменения, в вашем случае my_dict.update({number:{…: …}})
    • Сохраняете словарь в виде JSON.


    Загружаете через json.load или json.loads, обратно преобразуете json.dump или json.dumps
    Ответ написан
    1 комментарий
  • Возможно ли найти текст внутри определенных тегов, но без самих тегов?

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

    Возможно.
    Ответ написан
    7 комментариев
  • Что делать, когда счетчик считает неправильно?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Что делать, когда счетчик считает неправильно?

    Изучать алгоритмы, структуры данных, язык программирования, разбирать, как работает предложенный вам код, осваивать дебаггер, дебажить код и исправлять. Когда уткнетесь в конкретную проблему - приносите.
    Ответ написан
    5 комментариев
  • Возможно ли сделать так, чтобы после того как я с помощью pygame.draw нарисовал фигуру, код проверял ее наличие на заданных координатах?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Возможно почти всё, что можно вообразить и что не нарушает законы природы.
    Ответ написан
    Комментировать