Задать вопрос
  • Как перенести бекс без \n в pdf?

    Vindicar
    @Vindicar
    RTFM!
    for i in range(0, len(text), 22):
        line = text[i:i+22]

    Ну и далее по тексту.
    Ответ написан
    1 комментарий
  • Как нескольким переменным задать разные значения разом?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Если интересует именно рандом, choices подойдет

    a,b,c = random.choices(range(0,10), k=3)
    Ответ написан
    2 комментария
  • Как сделать ссылку в callback_data?

    iggor-markin
    @iggor-markin
    Python Developer
    types.InlineKeyboardButton(text="GitHub", url="https://github.com")
    Ответ написан
    2 комментария
  • Как сделать ссылку в callback_data?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Для этого надо использовать url-кнопку, а не callback-кнопку

    https://core.telegram.org/api/bots/buttons
    Ответ написан
    Комментировать
  • Почему find из BeautifulSoup не находит тег?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Тут все просто, как в квантовой физике. Своим скриптом сохраняем ответ реквеста на диск. Далее открываем файл в блокноте и смотрим, есть ли там данный тег с нужным классом. В 99,9% - нет. В таком случае газуем в google курить маны по selenium. Или же можно обойтись без selenium. Способов масса, главное чтобы хватило фантазии.

    Вот один из вариантов(у вас может не сработать, а может и сработать, а завтра сломаться - я не знаю. )
    import requests
    from bs4 import BeautifulSoup
    import json
    
    response = requests.get(
        url='https://play.google.com/store/apps/details?id=ru.mail.mailapp&hl=ru&gl=US&showAllReviews=true',
        headers={'user-agent':'Hacked by HottabXP!'})
    
    soup = BeautifulSoup(response.text,"lxml")
    dirty_comments = soup.find_all('script')[34].string # Методом тыка определяем, что json с коментами хранится
    # в 35 теге <script> и преобразовываем данные внутри тега в строку
    valid_json = dirty_comments[dirty_comments.find(' data:')+6:dirty_comments.find(', sideChannel')] # Вырезаем всё, что
    # находится между data: (плюс 6 символов) и sideChannel
     
    comments_json = json.loads(valid_json) # Тут уже работаем с обычным json
    
    for comment in comments_json[0]:
    	user_comment = comment[4] # Комментарий пользователя
    	try:
    		author_answer = comment[7][1] # Ответ на комментарий пользователя (может быть None)
    	except:
    		author_answer = '' # Если None, тогда в author_answer помещаем пустую строку
    
    	print(user_comment)

    Результат
    После обновления до Android 12 (Samsung One UI) почта перестала открывать письма в приложении. Виден только список, прочитать письма невозможно.
    После обновления, стало ужасным, пароль вводишь по 150 раз, постоянно теряет связь с интернетом, из за этого не возможно отправить вложения, если ничего не поменяться придётся сносить.
    В приложение просто не входит с правильным поролем. Его же копирую в вэб и всё заходит. Старое заходило, нафиг обновил((
    В принципе приложение хорошее, но после обновления рекламный блок стал выводиться на месте первого письма. Это очень неудобно - существенно уменьшает место для списка писем, плюс зачастую по привычке тычешь в рекламу вместо первого письма (возможно, в этом и есть задумка). Ищу альтернативу
    Вы, конечно, пока подумайте. А мы пока удалим ваше приложение и начнем пользоваться другим. Вот вы деревянные! Я ору с вас! Вам конечный пользователь говорит: ребята, я не смотрю и не читаю эту вашу рекламу. Она мне мешает смотреть почту. А в ответ чушь какая-то. Раздражающая почта. Теперь даже рекламу удалить нельзя из входящих писем. Слайд работает, а корзинка нет. Перехожу на оутлук. Удобнее и никакой рекламы. Это майл может себе оставить. Как и колонку с новостями на своей странице.
    Samsung Galaxy S21 - после обновления на Android 12 приложение перестало работать. Моргает и не открывается, либо открывается, но письма прочитать невозможно. Ссылается на то, что не обновлено приложение Android WebView, однако, все обновлено до последнего релиза.
    После того,как почта майл соединилась с сервисом ВК стало хуже. Я уже неделю бьюсь с восстановлением доступа к своей почте, так как забыла пароль. Но мне настойчиво отправляют зайти через ВК.И все попытки безуспешны. Уже нет желания просто работать с данным сервисом. Уважаемые разработчики, прошу вас вернуть возможности восстановления доступа, до соединения с ВК!
    После обновления не открываются письма в приложении. Что интересно после проверки приложения на телефоне, телефон пишет что есть проблема приложения, сбой в работе приложения и отправляет к разработчику. РАЗРАБОТЧИК СКОЛЬКО НУЖНО ЛЮДЕЙ, НАПИСАВШИМ ВАМ О ПРОБЛЕМЕ, ЧТОБЫ ВЫ УСТРАНИЛИ ПРОБЛЕМУ???
    Тут уже много кто писал, что после обновления до андроид 12 и one UI 4.0 на Самсунг приложение перестало открывать письма. Выдаёт ошибку "Ошибка в просмотре webview". Вы пишите ответьте, что надо написать в поддержку, но из приложения этого сделать не возможно. Кода нажимаешь кнопку "написать разработчику" выходит такая же ошибка.
    Здравствуйте, за последний месяц дважды устанавливаю Ваше приложение и оба раза удаляю. Невозможно совершить вход, постоянно пишет соединение. Разработчика нужно выгнать на мороз, и там оставить.
    Приложение не работает после обновления на Андроид 12, более месяца проблема не решается, притензии и замечания разработчикам не рассматриваются и не решаются, похоже майл почта утратила свою актуальность. Всем один ответ, напишите письмо разработчику, а толку...... ответов и решения проблем нет.... . Грядёт развал "майла"........ . Рейтинг приложения не актуален, большинство отзывов 1-2 звезды..... а у них.........!!!
    После обновления стали приходить уведомления "Новости". Мне нужна почта и не более того, мне не нужен браузер внутри почты. Ставлю одну звезду, так как убрать это навязанное новшество невозможно!
    Добрый день. После последнего обновления Samsung S21 перестали открываться письма. При попытке открыть появляется надпись "Ошибка в просмотре webview". Не могу даже войти в разел "Написать разработчику", поэтому пишу здесь.
    Не открывает письма после обновления Android. Пишет ошибка webview. Написать разработчику, как отвечает всем ПОТДЕРЖКА MAIR. RU, невозможно, т. к. вылезает та же ошибка. Хватит уже отвечать подобным образом, думаю, что вы уже и так поняли, что за проблема. Решите её уже.
    некоторые письма автоматически сортируются в папку "рассылки". удалить эту папку невозможно. это неудобно, мне нужно видеть все письма в одном месте, а не лазать по папкам. отвратительное приложение
    Не могу пользоваться приложением, не может зайти в мою почту, вылетает на первой-второй секунде загрузки содержимого входящих писем. Пробовала удалить приложение и переустановить заново.
    До этого была оценка 5 Mail×VK - это начало конца Еще больше рекламы. Уведомления от пульса, которые невозможно закрыть. Писать в службу поддержки не буду) компания загибается, и это хорошо)
    Я бы и минус один поставила, Я помню свой пароль и не могу уже долгое время войти на почту которой активно пользуюсь более 11 лет, из-за того что номер телефона который запрашивает мэил давно уже не!!!! существует, Этого номера украинского аператора у меня нет уже как 5 лет! Что за обсурт! На почте я храню свои документы, важные фото, переписки, кто это все вернет? Я не помню что бы хоть раз приложение запрашивало у меня номер телефона, что за тупые обновления
    Надоедливая реклама, которую убрать не возможно. До последнего обновления было лучше. Ещё несколько раз случайно ткань в эту рекламу и придётся отказываться от этого приложения, а может и от всё продуктов майл, так как владельцев похоже интересует только прибыль, а на пользователей наплевать.
    Уважаемые разработчики, Вы предлагаете написать в поддержку, но когда пытаешься это сделать выскакивает ошибка просмотра webview. Это что за издевательство такое? Решите уже наконец проблему, сколько уже было Вам писем, и никакого решения!
    Уже долгое время приложение не работает. Оно либо выдает окно с предложением обновить Android Webview, либо выдает стробоскопический эффект (экран начинает быстро мигать белым цветом). Android Webview уже обновился. Прошивка на S21 так же обновилась. А приложение по прежнему не работает. Отправить сообщение разработчику из приложения так же не возможно из-за этих ошибок. Письма соответственно так же не возможно поставить. В общем, добавили кучу функций которые не работают.
    Ув. Разработчики! Samsung S21Ultra 5G не работает. 12 Андроид. До последего обновления все работало хорошо, а сейчас "ошибка просмотра webview". Исправьте побыстрее, конкурентов много:). Написать напрямую разработчику нет возможности, приложение не работает. Пожалуйста не пишите про связь с разработчиком, а лучше подумайте, как помочь пользователям приложения и исправить ошибки.
    Приложение отправляет рекламу в уведомлениях телефона, и при этом это уведомление отсутствует в самой программе , или почте. Раньше этого не было. Удаляйте это приложение, а почту лучше проверить через встроенное приложение.
    Ну что же. Поздравляю товарищи. 2 недели ожидания решения проблем, а проблема даже не думает решаться. Писать никуда не буду, задрали уже, всю жизнь что ли разработчику писать? Итог: можете уже ничего не решать, вы очень хорошо поработали, чтоб я удалил ваше приложение и перешел на Яндекс.почту. всем советую, незачем это го....но держать и лишнюю память захламлять. Яндекс наше все)).
    Написали в службу поддержки о проблеме не открывания писем после обновления, пошла 2 неделя нет никакой реакции. Какую работу необходимо оценить, если ничего не сделано, почта так и не работает?
    Ну вы что, не понимаете, что все пользователи Samsung s 21, и возможно других девайсов на 12м андрюше не могу пользоваться приложением. Логи и пр ошибки не получается отправить тк приложение в процессе запуска тупо мерцает на изображении заставки
    Ждал обновления. Думал приложение всё таки заработает на 12 Андроиде и оболочке One UI 4.0, но не тут то было! По-прежнему вылетает. Даже зайти не могу. Тупо мерцание экрана с начальной заставкой.
    ...

    Данная моя приблуда работает через раз, я не смотрел причину. Скорее всего нужно проверять статус код ответа реквеста.

    На сайте jsonviewer.stack.hu можно удобно посмотреть структуру json:61cd9c0aca8c8860493418.png
    Ответ написан
    Комментировать
  • Вопрос по парсингу курса валют с json на python. Как реализовать автоматическое обновление переменной в коде?

    @mrdrkot
    У вас после запуска функции btc() происходит замена функции btc на число. Поэтому, просто назовите функцию иначе, должно помочь. Например, UpdatePrice. То есть, будет так:

    url = 'https://blockchain.info/ticker'

    def UpdatePrice():
        response = requests.get(url)   
        json_data = json.loads(response.text)
        price = json_data['RUB']
        btc = price['last']
        return btc
        
    btc = UpdatePrice()


    Ещё убрал global, т.к. он , создаёт угрозу дальнейшей разработке)
    Ответ написан
    6 комментариев
  • Почему не работает цикл while в python?

    @Kadabrov
    Из поиска читайте, изучайте
    while

    а вот еще очень полезный ответ от куратора тега

    Истина в Python?
    Ответ написан
    1 комментарий
  • Почему не работает цикл while в python?

    @DimaKalinin
    В первом варианте вы указали что i = 10, далее в цикле вы проверяли равно ли i - True, поскольку i у вас указано как число 10, то условие оказывается неверным и цикл не работает. Во втором варианте вы указали так же что i равно 10, но в цикле вы не указали условие которое должно выполняться для i - поэтому любое значение для i - верное, то-есть True, и цикл будет работать бесконечно
    Ответ написан
    1 комментарий
  • С чего начать изучение telegram bot?

    Открывай документацию telegram bot API, определяйся с тем, какие методы и для чего там есть.

    Попробуй самостоятельно голыми запросами решить задачу.

    Потом бери какой-нибудь telebot и тоже, читая документацию разбирайся.

    Конечно, можешь пропустить все этапы и не читая документацию по роликам на yt пытаться что-то сделать, но лучше не надо)
    Ответ написан
    2 комментария
  • Где и как можно конвертировать код c++ в python?

    @AVKor
    Где: на фрилансерском сайте (на выбор).

    Как: заплатить деньги тому, кто владеет обоими языками.
    Ответ написан
    Комментировать
  • Как найти повторение в списке на Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    a = ['R ', 'L ', 'U ', 'D ', 'F ', 'B ', "R' ", "L' ", "U' ", "D' ", "F' ", "B' ", 'R2 ', 'L2 ', 'U2 ', 'D2 ', 'F2 ', 'B2 ', "R'2 ", "L'2 ", "U'2 ", "D'2 ", "F'2 ", "B'2 "]
    b = {i.replace("'", "") for i in a}


    P.S. Использовать "list" в качестве имени переменной - это плохая идея.
    Ответ написан
    2 комментария
  • Не устанавливается библиотека easyocr, в чем проблема?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Вам же английским по красному указано - "fixing-conflicting-dependencies" - это значит, что нужно подчинить зависимости (возможно у вас установлены библиотеки(необязательно Python), которые конфликтуют между собой - но это не точно).

    В таком случае нужно первым делом перейти на сайт библиотеки, и прочитать инструкцию по установке (так как, что-то мне подсказывает, что вы смотрели "уроки" на YouTube по данной библиотеке.)

    https://github.com/JaidedAI/EasyOCR
    Вот что там написано:
    Note 1: For Windows, please install torch and torchvision first by following the official instructions here https://pytorch.org. On the pytorch website, be sure to select the right CUDA version you have. If you intend to run on CPU mode only, select CUDA = None.
    Не думаю, что вы проделали этот шаг.
    Ответ написан
    Комментировать
  • Как создать объект который самостоятельно распакуется в нужное число имен?

    Vindicar
    @Vindicar
    RTFM!
    Никак, слишком много значений для распаковки - это тоже плохо. А узнать количество распаковываемых переменных объект не сможет без анализа кода.

    Собственно, главный вопрос тут опять "а зачем тебе такое?"

    EDIT: Ну что ж, не говори, что тебя не предупреждали...

    # оба модуля - встроенные, а не сторонние
    import inspect
    import dis
    
    def callee(x):
        our_frame = inspect.currentframe()
        our_caller_frame = our_frame.f_back
        our_caller = our_caller_frame.f_code
        print(f"We are called by {our_caller.co_name}(), at line {our_caller_frame.f_lineno}")
        print("Our caller's code goes as following (byte string):")
        print(our_caller.co_code)
        bytecode = dis.Bytecode(our_caller, first_line=our_caller.co_firstlineno)
        print("Or, in human readable form, its this:")
        print(bytecode.dis())
        return [x*x]
    
    
    def caller():
        print("Calling callee()")
        y = callee(2)
        print(y)
    
    def other_caller():
        print("Calling callee()")
        z, *_ = callee(3)
        print(z)
    
    caller()
    other_caller()
    Ответ написан
    7 комментариев
  • Наследование и переопределение, как быть?

    Vindicar
    @Vindicar
    RTFM!
    Выше LXSTVAYNE тебе хороший совет дал, а я напишу кодом.
    Описываешь базовый класс и наследуешься от него:
    class WordComparator:
        def compare(self, word1: str, word2: str) -> int:
            "Вернет -1 если первое слово лучше, 1 если второе слово лучше, 0 если они одинаково хороши"
            raise NotImplementedError #реализации у нас нет
    
    class LongestWordWins(WordComparator):
        def compare(self, word1: str, word2: str) -> int:
            l1, l2 = len(word1), len(word2)
            if l1 > l2:
                return -1
            elif l1 < l2:
                return 1
            else:
                return 0
    
    class ShortestWordWins(WordComparator):
        def compare(self, word1: str, word2: str) -> int:
            l1, l2 = len(word1), len(word2)
            if l1 > l2:
                return 1
            elif l1 < l2:
                return -1
            else:
                return 0

    Затем ты передаёшь в класс, реализующий игровую логику, экземпляр одного из двух классов, и обращаешься к его методу compare() когда тебе надо сравнить два слова.
    Это называется паттерн "стратегия".
    Ответ написан
    Комментировать
  • Наследование и переопределение, как быть?

    lxstvayne
    @lxstvayne
    Люблю Python
    У тебя победа игрока определяется по какому-то правилу. Я не знаю зачем постоянно логику игры переписывать, если можно переписать свою функцию-правило. Я бы написал абстрактный класс Comparator, у которого есть метод compare с 2 параметрами(словами), также абстрактный. И от него бы унаследовал следующие классы, уже твои правила для игры, как сравнивать слова. И в твой класс Game, где определена логика игры, я бы передавал правила сравнения слов и всё. Так тебе не придётся менять логику кода, а просто писать свои правила.
    Ответ написан
    Комментировать
  • Как сортировать числа в правильно порядке?

    desaki
    @desaki
    пишу ботов для телеги
    Возможно данная статья поможет вам: ссылка
    В статье говорится о методе sort()

    Скорее всего, вы что-то не так делаете. Покажу пример:
    Если у вас список состоит из чисел, то вывод будет следующим:
    number = [1, 10, 5, 11, 2, 4, 20, 21]
    number.sort()
    Вывод: [1, 2, 4, 5, 10, 11, 20, 21]
    
    Но, если у вас список такой, то вывод будет уже другим:
    number = ['1', '10', '5', '11', '2', '4', '20', '21']
    number.sort()
    Вывод: ['1', '10', '11', '2', '20', '21', '4', '5']

    Думаю, вы поняли, в чем заключалась ваша ошибка
    Ответ написан
    3 комментария
  • Ошибка python discord.py, которая затрагивает файлы самого питона, как решить?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    on_meassage принимает только один аргумент - message. У вас их два
    Ответ написан
    6 комментариев
  • Как реализовать поиск в sqlite на python?

    Vindicar
    @Vindicar
    RTFM!
    Это называется "нечеткий поиск", и это непростая тема. Как говорится в одном анекдоте, "длина, ширина, высота и глубина - это совсем не то же, что длинка, ширинка, высотка и глубинка".
    Ответ написан
    6 комментариев
  • Как исправить эту ошибку?

    @dmshar
    Что это за дивный оператор:
    data = dict
    Может все-таки
    data = dict()

    А вообще-то совет - сначала Python выучить, потом ботов писать. Тогда не придется за детскими вопросами на форум бегать.
    Ответ написан
    1 комментарий
  • TypeError: 'NoneType' object cannot be interpreted as an integer как исправить?

    Vindicar
    @Vindicar
    RTFM!
    startfile() returns as soon as the associated application is launched. There is no option to wait for the application to close, and no way to retrieve the application’s exit status.


    Ты не имеешь контроля над приложением, после того как ты его запустил через startfile(). Функция возвращает None и только None.

    os.close() предназначена для закрытия файловых дескрипторов, почему ты вообще пытаешься её использовать тут?

    Короче, ты творишь какую-то ересь, и ошибка тут не в том, что None нельзя преобразовать в целое.
    Ответ написан
    2 комментария