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

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

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

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

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

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

    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 комментарий
  • Ошибка SQLite3 python: "sqlite3.OperationalError: near "logindata": syntax error" что делать?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    delete from mytable where id=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:
    Ответ написан
  • Подсчет планет с помощью pyswisseph, почему считает не верно?

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В классе bitcoinlib.keys.Key нет атрибута secret_exponent
    Вы можете в этом убедиться разными способами, например функцией dir или просто прочесть код класса.
    Что делать? Понять, как правильно называется атрибут класса Key, которому вы хотели приписать значение private_key, и исправить код.
    Возможно, он называется просто secret. Но это не точно.
    Ответ написан
    Комментировать
  • Как решить проблему «mysql.connector выдает ошибку File not found (OS errno 2 — No such file or directory)»?

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Так?
    def trytest():
        try:
            a = b // 0
        except ZeroDivisionError:
            print('zero!')
        except Exception as e:
            print(e)
    
    if __name__ == '__main__':
        trytest()
        b=1
        trytest()
    Ответ написан
  • Ошибка при попытки скачать requirements.txt, что делать?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Во-первых, желательно убедиться, что вы ставите всё это в заранее подготовленное и активированное виртуальное окружение вашего проекта, а не просто в систему. Иначе библиотеки в системе могут конфликтовать по версиям.
    Во-вторых, некоторые библиотеки трудно ставятся методом сборки, поэтому их желательно ставить из wheel. Для этого есть два пути:
    • найти и скачать wheel под вашу ОС и ставить именно его, явно указав путь к скачанному wheel,
    • попробовать pip install wheel pycairo
    Ответ написан
    Комментировать
  • Как сделать возможность редактировать результат?

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

    Это в общем.
    В частности, чтобы в вашем коде можно было “менять числа не перезапуская программу”, это надо в программе предусмотреть. Например, так:
    while True:
        Поля = input('Кол-во полей? ')
        Заводы = input('Кол-во заводов? ')
        Лаборатории = input('Кол-во лаб.? ')
        
        print ('Поля', Поля)
        print ('Заводы', Заводы)
        print ('Лаборатории', Лаборатории)

    Это самый простой способ реализации, что называют «в лоб». Как именно это сделать «по уму» - надо приложить ум.
    За вас это могут сделать, но не здесь, а на freelance
    Чтобы вы смогли самостоятельно сделать это, см.первую часть моего ответа.
    Ответ написан
    2 комментария
  • Как в питоне обеспечить контроль целосности данных?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Как-то так?

    my_int_var = 555555
    print(isinstance(my_int_var, int))
    my_int_var = 555555.5
    print(isinstance(my_int_var, int))
    my_int_var = '555555'
    print(isinstance(my_int_var, int))
    my_int_var = True
    print(isinstance(my_int_var, int))
    my_int_var = b'True'
    print(isinstance(my_int_var, int))

    Может быть только проблема с bool, поскольку оно мэппится с 1/0.
    Ответ написан
    Комментировать
  • Как мне исправить ошибку KeyError: 18?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Хорошо бы понять, откуда в class_id попадает невалидное значение ключа?
    1. Если такого быть не должно, надо искать причину.
    2. Если такое возможно, надо обрабатывать это исключение через try/except KeyError, либо предварительно валидизировать значение class_id
    Ответ написан
    Комментировать
  • Как сделать так чтобы в конце кода когда человек нажимал Y код запускался заново?

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

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