Задать вопрос
  • Выходит ошибка 'NoneType' object has no attribute 'encode' что делать?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    У вас password пустой, из-за проблем с переменной окружения (она отсутствует скорее всего).
    Попробуйте в командной строке ввести set f1w055552578=your_password, если у вас винда
    Ответ написан
    Комментировать
  • Как программировать на удаленном компьютере?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Windows RDP
    Ответ написан
    Комментировать
  • Объём записей у Жёстких дисков учитывается?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Можно ли полагаться на эти данные?
    Можно
    Почему их не указывают в программах и в характеристиках?
    А смысл? Вы 8ГБ записали, а потом 7ГБ стёрли. Хост-записей будет 8ГБ, а фактически будет занят только 1ГБ
    Ответ написан
  • Какой самый мощный сервис статистики для сайта?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Ответ в тегах, которые вы поставили
    Ответ написан
  • Почему в RuStore нужно вручную устанавливать обновленные приложения?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Потому что RuStore до Google Play далеко. Гугль плей устанавливает автоматом, потому что это "своё", доверенное приложение для андроида, а русторе он знать не знает и требует подтверждения.
    Что делать? Можно ли как-то это настроить?
    Ничего. Нельзя
    Ответ написан
    Комментировать
  • Нужен ли JavaScript пентестеру?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    для WEB пентестера
    Очевидно, что да
    Ответ написан
    4 комментария
  • Поможете исправить ошибку в Python коде?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Дробная часть отсекается int-ом int(kop) Во втором примере не закрыта скобка kop = ((a * n) + (b * n)) / 100
    Ответ написан
    1 комментарий
  • Как сделать альтернативное управление для сторонней игры, при помощи Python'a?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Устнавливаете keyboard и пишите скрипт, вроде этого:
    import keyboard
    
    # Функция, которая будет вызываться при нажатии клавиши 1
    def press_1():
        keyboard.press_and_release('f')
    
    keyboard.on_press_key('1', press_1)

    Он будет перехватывать нажатие единицы во всей системе (а не только в игре) и эмулировать нажатие клавиши f
    Ответ написан
    1 комментарий
  • Как найти процент залго в тексте?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    import unicodedata
    
    def is_zalgo(char):
        # Проверяем, является ли символ диакритическим знаком
        return unicodedata.category(char).startswith('L')
    
    def zalgo_percentage(text):
        total_chars = len(text)
        zalgo_chars = sum(1 for char in text if is_zalgo(char))
        if total_chars == 0:
            return 0
        return (zalgo_chars / total_chars) * 100
    
    text = "тут текст"


    Version 2.0
    import re
    
    def zalgo_percentage(text):
        zalgo_pattern = re.compile(r'[\u0300-\u036F\u0483-\u0489\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06ED\u0901-\u0903\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A40-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C00\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C82\u0C83\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D02\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032\u1036\u1037\u1039\u1058\u1059\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u1A17\u1A18\u1A55\u1A57\u1A60-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B04\u1B34\u1B36-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CED\u1D00-\u1DBF\u1E00-\u1EFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u20D0-\u20EF\u302A-\u302F\u3099\u309A\uA806\uA80B\uA825\uA826\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB]')
      
        count_zalgo = len(zalgo_pattern.findall(text))
        count_chars = len(text)
    
        if count_chars > 0:
            return (count_zalgo / count_chars) * 100
            
        return 0
    
    # Пример использования
    text = "В̶̻͗а̴̺ͧш̭͒͞ ̡̩͋т̷̙ͨе̸͔ͥк̸͕̍с̤̊͠т̯̋̕ ͖ͣ͟з̳̐̀д͚ͧ͞е̛̱̌с͖̌̕ь̛̘͊"
    percentage = zalgo_percentage(text)
    print(f"Процент залго в тексте: {percentage:.2f}%")
    Ответ написан
  • Любая частная группа в телеграме доступна любому человеку в мире по ссылке?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Для приватных групп Telegram генерирует пригласительные ссылки, которые выглядят как https://t.me/joinchat/XXXXXXXXXXXX В группу можно вступить и попасть только по ней. Теоретически, можно попытаться перебрать все возможные комбинации ссылок, но на практике это неосуществимо из-за огромного количества возможных комбинаций и сложности алгоритма генерации ссылок. Кроме того, Telegram имеет меры защиты от таких атак и блокирует подозрительные аккаунты.
    Ответ написан
    4 комментария
  • Можете объяснить?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Можете объяснить?
    Нет

    spoiler
    Как-то странно вы документацию смотрите. В copy_text передаётся экземпляр класса CopyTextButton, которому, в своюо чередь, передаётся текст, который нужно скопировать
    Ответ написан
    Комментировать
  • Почему не добавляются данные в базу данных SQlite?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    А если так попробовать?
    @dp.message_handler(state=Form.name)
    async def add_name(message: types.Message):
        user_name = message.text.strip()
        try:
            async with aiosqlite.connect('base.db') as db:
                await db.execute('INSERT OR IGNORE INTO user (name) VALUES (?)', (user_name,))
                await db.commit()
            await message.answer("Готово")
        except Exception as e:
            await message.answer(f"Произошла ошибка {e}")
    Ответ написан
  • Какую версию Windows выбрать?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Windows 11
    Ответ написан
    Комментировать
  • Как решить ошибку скачивания файла pytube?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    У вас ошибка в os.rename(file, f"{path}/{file_name}.mp3")
    video.download(f'{path}') очищает имя скачиваемого файла от недопустимых символов, но в file_name они остаются, поэтому он и не находит f"{path}/{file_name}.mp3

    Этот код должен отрабатывать правильно:
    # Функция для очистки имени файла от недопустимых символов
    def clean_filename(filename):
        # Заменяем все недопустимые символы на подчеркивания
        return re.sub(r'[\\/*?:"<>|]', '_', filename)
    
    async def install_data(link: str, file_name: str, _type: str, path: str, _lang: str):
        language = lang[_lang]
        try:
            video = YouTube(link)
    
            if _type == 'audio':
                video = video.streams.get_audio_only()
    
            if _type == 'video':
                video = video.streams.get_highest_resolution()
    
            # Очищаем имя файла от недопустимых символов
            clean_file_name = clean_filename(file_name)
    
            file = video.download(path)
            extension = 'mp3' if _type == 'audio' else 'mp4'
            os.rename(file, f"{path}/{clean_file_name}.{extension}")
    
            return language['success']
    
        except Exception as e:
            print(e)
            return f"{language['err']} + \n {e}"
    Ответ написан
  • Telethon (Python) можно ли поставить после Please enter your phone (or bot token):, переменную?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Это что ли?
    if not await client.is_user_authorized():
                with open('valet.txt', 'r') as file:
                    lines = file.readlines()
                    if lines:
                        last_phone_number = lines[-1].strip()
                        print(f"Используем номер телефона из файла: {last_phone_number}")
                    else:
                        last_phone_number = input("Введите ваш номер телефона (в формате +1234567890): ")
    
                await client.send_code_request(last_phone_number)
                code = input("Введите код из SMS: ")
                await client.sign_in(last_phone_number, code)
    Ответ написан
    Комментировать
  • Можете подсказать почему снежинки то ускоряются, то замедляются в python?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    У вас speed_value сначала увеличивается по мере итерации цикла и снежинки ускоряются, а потом резко обнуляется и снежинки замедляются
    Ответ написан
    1 комментарий
  • Как исправить TypeError: string indices must be integers, not 'str'?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    cmd - это строка (str), а не словарь
    Ответ написан
  • TELEGRAM API STARS как отправить?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Бот не может дарить stars пользователям
    Ответ написан
    Комментировать
  • Как передать данные из flask в wrap, а затем на страницу сайта?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Передавайте дополнительные аргументы в декоратор, в чём проблема
    def plugin_page(name, **kwargs):
        def decorator(f):
            @wraps(f)
            def wrapper(*args, **kwargs):
                # Вызов оригинальной функции и получение её результата
                result = f(*args, **kwargs)
                # Объединение результата функции с дополнительными аргументами
                context = {**result, **kwargs}
                return render_template('plugin-' + name.lower() + '.html', **context)
    
            return wrapper
    
        return decorator
    Ответ написан
    1 комментарий
  • Как выучить Python?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    1. Вам надо определиться со сферой и ЯП. Насчёт тестирования я не в курсе, но с играми в python туго. Я никогда не видел ни одной вакансии, где искали бы питониста для разработки игр.
    2. Забудьте про онлайн-курсы, платформы и т. д. и т. п. Это всё вредно, также как и начинать учить ЯП с разработки тг ботов. Ни в коем случае так не делайте
    3. Я рекомендовал бы начать с книги Пола Берри "Изучаем программирование на Python", с обязательным выполнением задач и упражнений, а затем перейти на Марка Лутца "Изучаем Python". В качестве справочника "под рукой" я использовал книгу Била Любановича.
    4. После того, как вы осилите это, ищите для себя интересные пет-проекты и развивайте их. Будет хорошо, если они будут разной направленности (веб, десктоп ещё что-то). Несмотря на то, что всё это вам вряд ли понадобится, вы набьёте руку и будете ориентироваться в языке. Ну и определитесь, что вам из этого интересно. Процитирую свой комментарий под одним из ответов здесь
      С олимпиадными задачами это всё быстро надоест и начнёшь подумывать, насчёт состояния своего серого вещества и полезности этого занятия.
      Надо придумать для себя какой-то проект - в меру сложный и в меру простой, чтобы охватывал область, в которой планируешь развиваться, интересный для самого себя. Желательно что-нибудь "без конца". Т. е. тот же блог ты напишешь, но до идеала всегда будет далеко и какое-то время это будет для тебя мотивацией двигаться вперёд.


    Как-то так. Замечу, что всё выше описанное - это моё мнение. Оно основано на моём опыте, и возможно этот путь не совсем верный, или не подходит для вас.
    Ответ написан