Задать вопрос
  • Как сделать строчку по определенному символу к примеру *:* pyhon?

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

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Есть варианты:
    1. Закомментировать всё до нужного места и запускать модуль как обычно.
    2. Разбить код на функции и вызывать их в нужном порядке, передавая нужные данные из и в функцию.
    Ответ написан
    Комментировать
  • Почему не работает getpass in Pycharm?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Тут может быть много нюансов. Например, тупо стоит except Exception и опаньки.

    Или имя какого-либо файла в проекте будет getpass и всё пойдет наперекосяк. И т.п.
    Отсюда этих нюансов не видно.

    Так-то если смотреть на код - он должен вываливать кучу ошибок из-за неправильных отступов, незавершенного try и пр.

    Рекомендую освоить дебаггинг, тем более в pycharm он встроенный и достаточно удобный. И смотреть, где и что происходит в переменных.
    Ответ написан
    1 комментарий
  • Зачем нужны class в Python?

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

    Так вот.
    • Таблица со своим собственным именем - это тип данных.
    • Заголовок таблицы это класс, описывающий этот тип данных.
    • Строки таблицы с данными - это экземпляры класса.
    • Колонки таблицы это атрибуты.
    • Формулы, протянутые на колонки таблицы, это методы класса.


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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    import string
    def high(x):
        numbers_keys = dict([(i, n+1) for n, i in enumerate(string.ascii_lowercase)])
        return [(sum([numbers_keys[i] for i in word]), word) for word in x.split()]
    
    
    print(sorted(high('tekst dlya primera'), reverse=True))
    Ответ написан
  • Discord бот не видит файл "prefix.txt", как решить?

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Попробуйте варианты:
    Поставить r перед строкой пути
    my_path = r'C:\Users\'
    Задвоить все слеши
    my_path = 'C:\\Users\\'
    Заменить все слеши на обратные
    my_path = 'C:/Users/'
    Ответ написан
    1 комментарий
  • Как обновлять значение в БД?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    SET losse += 1
    Ответ написан
    Комментировать
  • Ошибка SQLite3 python: "sqlite3.OperationalError: near "logindata": syntax error" что делать?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    delete from mytable where id=1
    Ответ написан
    Комментировать
  • Можно ли заряжать старый macbook pro, где для зарядки нужен magsafe 2 через адаптер tipe c/magsafe 2?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Можно. Я уже не первый год через MagSafe-1 питаю 60-ваттный макбук, не вижу особых проблем и с 85-ваттным и MagSafe-2.
    Нужен приличный БП и мощный кабель type-c.
    Вот так это выглядит
    64edc82aea734575212514.jpeg
    Ответ написан
    5 комментариев
  • Idle_report и taskhostw самовосстанавливаются, что делать?

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

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

    Если хотите обновить оборудование, берите keenetik, они вполне вменяемые. Только вначале сходите на форумы по keenetik и почитайте.

    Но!
    С VPN проблема будет, вероятно, с любым роутером. Потому что проблема не на стороне роутера, а на стороне провайдера - сейчас массово борется с VPN, поэтому всё будет плохо с любым роутером.
    Ответ написан
    1 комментарий
  • Как устранить ошибку TypeError: 'NoneType' object is not subscriptable steampy?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Сделайте проверку типа response_dict до строки if response_dict['success'] != 1:
    Что-нибудь вроде
    if isinstance(response_dict, dict) and  response_dict['success'] != 1:
    Ответ написан
  • Можно ли заразить телефон через jpg/pdf?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Вопрос неконкретный, и однозначный ответ на него невозможен, т.к. есть уже 17 версий iOS для телефона, а сабверсий сотни, да еще на разных железках. Возможно, какую-то версию при каких-то особых условиях в каком-то смысле удастся «заразить». А может и нет.

    Но в общем случае - нельзя.
    Ответ написан
    Комментировать
  • Подсчет планет с помощью pyswisseph, почему считает не верно?

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

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    У вас тип прокси указан https, а протокол в url прокси - http.
    Сделайте оба http и ошибка исчезает.
    import requests
    proxies = {
       'http': 'http://185.221.160.176:80'
    }
    url = 'https://www.selenium.dev/selenium/web/mouse_interaction.html'
    response = requests.get(
        url=url, 
        proxies=proxies)
    print(response)

    Правда, соединение будет по http, но я не уверен, что этот proxy вообще умеет проксировать https.
    Ответ написан
    Комментировать
  • Как сделать аргументы через пробел discord.py?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    • вы должны четко понимать, что происходит с данными в коде и в т.ч. внутри библиотеки бота. Ощущение, что для вас это черный ящик. Вы читали код библиотеки бота, разобрались, как оно работает.
    • ощущение, что где-то в вашем коде подавлены ошибки при помощи try: except Exception, поэтому «ничего не происходит».
    • в аргументах функции после «звездочки» ожидаются именованные аргументы a и b. Поэтому функция должна возвращать ошибку об отсутствии аргументов, но где-то ошибка подавляется.
    • В-четвертых, можно попробовать использовать * вот так:

    def bog(ctx, *arg):
        print(f'ctx = {ctx}')
        a, b = arg[-2:]
        print(a)
        print(b)
        
    def call_bog(commands: str):
        args = tuple(commands.split(' '))
        bog(*args)
    
    call_bog('one two three four')
    Ответ написан
    Комментировать
  • Как обойти первоначальную авторизацию через терминал при создании TelegramClienta (telethon)?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В простейшем случае делают так:
    Одна функция (регистрации) вызывает другую (получения кода) а другая функция возвращается полученный код по return.
    def get_code():
        code = input('code, please:')
        return code
    
    def authorise():
        reg_code = get_code()
        print(f'received code: {reg_code}')
    
    authorise()

    Заметки на полях
    В вашем случае в коде вижу и FSM, и хранение каких-то данных в уникальных JSON, и всякое… тут по-хорошему вы, как автор кода, представляющий структуру и отношения между объектами, должен спроектировать свою программу и если не получается, приносить сюда уже конкретную проблему, что не получается при реализации, а не вот это.
    Кроме того, вопрос популярный, и вы сначала обязаны поискать самостоятельно.


    Как бы я сделал, зная то, что видно из фрагментов кода?
    Первое, что приходит в голову, это хранение в JSON
    раз у нас есть уникальные JSON, относящиеся каждый к своему аккаунту, почему бы не сделать там соотвествующий ключ и через него не передавать относящееся к соответствующему аккаунту значение? Изначально пусть None, периодически проверять его значение, по получении ключа пишем туда значение, если не None - завершаем регистрацию, используя это значение, после использования опять выставить None.

    Но это так… первое, что пришло в голову. Тут есть много нюансов. Во-первых, возможно блокирование JSON-файлов и асинхронная гонка, соответственно надо сочинять какую-нибудь синхронизацию (а тут можно начудить так, что потом не распутать); во-вторых, не все хостинги поддерживают хранение созданных файлов; в-третьих, для этого придуманы Redis, in-memory SQLite и т.п.


    Есть варианты с глобальной переменной-словарем, есть с БД, наверное есть и с FSM (я ее вообще не знаю, поэтому не могу советовать, но раз там есть метод set, то надо смотреть внимательно, может уже там всё предусмотрено).
    Ответ написан
    Комментировать
  • Как можно записать multiline строку в файл, сохраняя символы новой строки?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Есть два варианта:
    1. Экранировать обратным слешем проблемные символы (кавычки и обратный слеш):
    multiline = '''
    report_number=$(head -n 1 "/root/cron_job_enumerator.txt" | tr -d \'\\n\')
    '''
    print(multiline)

    2. использовать префикс строк r, который не дает обрабатывать содержимое строки, заставляет воспринимать ее как есть (тогда отдельные символы экранировать не надо):
    multiline = r'''
    report_number=$(head -n 1 "/root/cron_job_enumerator.txt" | tr -d '\n')
    '''
    print(multiline)
    Ответ написан
    3 комментария