• Как создавать групповые чаты при помощи телеграм бота?

    @dronmaxman
    VoIP Administrator
    Бот не может создавать группы и приглашать в них участников, для этого есть библиотека pyrogram которая работает как клиент телеграмма.

    https://docs.pyrogram.org/telegram/functions/messa...
    Ответ написан
  • Как ужимать jpeg без потери цветов?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    пробуйте что-то вроде
    https://engineeringblog.yelp.com/2017/06/making-ph...

    в общем случае - нет
    он же "сжимает" не от хорошей жизни и не от сырости, а усредняя цветовое представления пикселей к меньше палитре и последущему их архивированию, так что цвета будут меняться
    Ответ написан
    2 комментария
  • Как ужимать jpeg без потери цветов?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Как ужимать jpeg без потери цветов?

    В общем случае никак. Потому что сжатие там предусматривает обязательные потери.
    Ответ написан
    1 комментарий
  • Как ужимать jpeg без потери цветов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не очень понятен смысл твоей экономии. Что ты хочешь выторговать?

    Скорее всего цвет страдает при использовании цветовой модели Y(Cb)(Cr). В этом режиме
    отдельно кодируется черно-белая яркость одним каналом. И еще двумя другими каналами
    кодируются цветовые разности. На них идет жосткая экономия. Прореживают и по разрешающей
    способности (chroma subsampling) и еще возможно по квантизации. Короче экономят на красках.
    Это не ново. Это цветовая психо-физиология. Подтверждено экспериментами на людях. Об
    этом знали еще в 20м веке когда строили телевизионные системы типа PAL/Secam.

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

    Я не помню поддерживает ли JPEG RGB модель. Но поищи. И начни искать в фотошопе а не в этой
    стрёмной библиотеке PIL. Кстати почитай насколько глубоко она работает с JPEG. Использует
    ли она сишный libJPEG или у нее самопальный алгоритм. По идее в RGB модели должно
    быть более равномерные потери для цвета и яркости. Но результат будет не лучше.

    Еще посмотри в направление форматов webp. Если ты такой жадный дизайнер - то там будут
    улучшеные алгоритмы кодирования-декодирования основанные прогнозе следующего цветового
    фрейма.

    Посмотри в JPEG2000 который умер так и не родившись. Но возможно там будут идеи которые тебе будут
    интересны.
    Ответ написан
    Комментировать
  • Проблема с модулями crontab, какое решение лучше?

    hint000
    @hint000
    у админа три руки
    P = subprocess.Popen("/usr/local/bin/python3 /Users/User/script2.py ", text=True, shell=True)
    Ответ написан
    Комментировать
  • Какой split использовать, чтобы прочитать числа?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У тебя - типичный csv файл. И не нужны тебе там никакие скобочки и двоеточия. Делай проще.

    101; 657; 821; 622; 843
    102; 696; 874; 709; 1000

    такой файл и в Экцель открыть можно и в базу загрузить потом без бубна.
    Ответ написан
    Комментировать
  • Как можно заполнить символом всю строку?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    from shutil import get_terminal_size
    cols = get_terminal_size()[0]
    print('+'*cols)
    Ответ написан
    Комментировать
  • Как проверить адрес кошелька на валидность в Python?

    drygdryg
    @drygdryg
    Python-разработчик
    Можно написать функцию:
    from string import hexdigits
    
    
    def is_valid_address(address: str) -> bool:
        return len(address) == 66 and all(c in hexdigits[:-6] for c in address)

    hexdigits ­—строка, содержащая все цифры шестнадцатеричной системы счисления, в том числе верхнего регистра ('0123456789abcdefABCDEF'). В данном примере с помощью среза [:-6] берётся новая строка без символов верхнего регистра ('0123456789abcdef'). Поэтому вместо hexdigits[:-6] можно использовать строку '0123456789abcdef' — на ваше усмотрение.
    Ответ написан
    4 комментария
  • Как создать окно с кнопкой Старт Стоп для данного кода?

    Vindicar
    @Vindicar
    RTFM!
    # if the 'q' key is pressed, stop the loop
    if key == ord("q"):
        break

    А зачем останавливать отладку, когда у тебя уже в коде есть выход по горячей клавише? Или код не твой, ты просто разместил объяву?
    А вообще GUI-средства cv2 нужны сугубо для отладки и для экспериментов, они мало подходят для написания сложного приложения. Так что если хочешь кнопки и поля ввода, придётся дружить cv2 с каким-то GUI-фреймворком.
    Ответ написан
    Комментировать
  • Как хранить сайт на гитхабе?

    paran0id
    @paran0id
    Умный, но ленивый
    Можно задействовать https://www.netlify.com - там даже на бесплатном тарифе это работает.
    Ответ написан
    1 комментарий
  • Как поправить определение разницы изображения?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    вот тут в поиске задай
    https://pyimagesearch.com/
    или пересмотри все, год так 2015й, там на примере callofduty картинки показано
    заодно может еще каких идей наберешься
    там хороший пример этот с масштаброванием картинки тоже
    Ответ написан
    6 комментариев
  • Как записывать информацию в CSV каждый раз с новой строки?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Добавьте в конец строки \n

    Снова и снова говорю вам: найдите и проработайте «Изучаем Python». Там всё разжёвано.
    Ответ написан
    Комментировать
  • Как правильно добавить индекс?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    images = ['a', 'b', 'c']
    for c in "educative":
        print(f'perehodim_k_sled_bukve {c}')
        for number, image in enumerate(images):
            print(f'буква {c} цикл {number} image {image}')
    Ответ написан
    Комментировать
  • Как отправить предложение из файла telebot?

    shabelski89
    @shabelski89
    engineer
    вот она имитация бота :)
    а серьезно, сначала книжку Лутца, как Вам уже написал Александр Нестеров
    import time
    from random import choice
    from threading import Thread
    
    
    version = [
        {'language': 'Навахо', 'phrase': 'Ayóó ánííníshí', 'pronunciation': 'Аийоо ианинииши'},
        {'language': 'Гавайский', 'phrase': 'Aloha wau iā ʻoe', 'pronunciation': 'Алоха ва уйа ой'},
        {'language': 'Бангладешский', 'phrase': 'আমিতোমাকেভালবাসি', 'pronunciation': 'Ами тумакэ палабаши'},
        {'language': 'Латинский', 'phrase': 'Te amo', 'pronunciation': 'Тэ амо'},
        ]
    
    
    def read_from_stdin():
        while True:
            input_phrase = input()
            if input_phrase.lower() == 'love':
                result = choice(version)
                print(result['language'])
                print(result['phrase'])
                print(result['pronunciation'])
            else:
                print(f'unknown command - {input_phrase}')
    
    
    def some_worker():
        while True:
            print("некая переписка")
            time.sleep(5)
    
    
    if __name__ == "__main__":
        reader_t = Thread(target=read_from_stdin).start()
        worker_t = Thread(target=some_worker).start()
    Ответ написан
    Комментировать
  • String to float, в пути к файлу?

    @alexbprofit
    Junior SE
    image = cv2.imread("new_image.jpg")
    (B, G, R) = cv2.split(np.float32(image))


    Или:
    img = cv2.cvtColor(cv2.imread("img.jpg"), cv2.COLOR_BGR2RGB) # Converts to RGB
    Ответ написан
    Комментировать
  • Python exception, какой будет правильным?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    . чтоВообще игнорировать любые исключения - это очень плохая идея. Причин этому много даже за рамками тех, с которыми вы уже столкнулись.
    Если вы немного почитаете про обраотку исключений, то увидите блоков except в этой конструкции может быть несколько и они фильтруют происходящие исключения в том порядке, в котором указаны.
    В общем случае следует различать два вида исключений: штатные и нештатные.
    Штатные - это те исключения о которых вы знаете, которые предусматриваете. В данном контексте это, например KeyboardInterrupt. Кроме того, вам нужно понимать какие ещё исключения порождает ваш код, какие из этих исключений нжно считать штатными, и поэтому как-то конерктно обрабатывать ил игнорировать, а какие считать нештатными.

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

    Если ваш скрипт должен во что бы то ни стало работать и никогда не падать в продакшн-режиме, то можно поступить так:
    По факту KeyboardInterrupt делайте её рерайз. Остальные ошибки подробно логируйте и двигайтесь дальше:
    for item in items:
        try:
            ...
        except KeyboardInterrupt:
            raise
        except Exception as e:
            with open('errors.log', 'a') as log:
                log.write(f'{e}')
                # сюда же можно вывести трейсбэк, но я бы воспользовался стандартным логированием, чтобы не изобратать велосипед, однако его конфигурирование выходит за рамки данного отета.
    Ответ написан
    Комментировать
  • Путь к самой новой папке на Python, Datetime, как реализовать?

    Vindicar
    @Vindicar
    RTFM!
    1. glob.glob() чтобы выбрать папки по шаблону.
    2. Немного str.split() и datetime.datetime.strptime() для извлечения даты. Превращаешь дату в unix timestamp (целое число). Заворачиваешь это всё в функцию вида def keyfunc(folder: str) -> int:
    3. max() с именованным параметром key.
    4. PROFIT
    Ответ написан
    1 комментарий
  • Как заменить логотип, откуда он подгружается?

    Liatano
    @Liatano
    На странице есть svg, в котором содержится элемент с id="logo-5play" . В этом элементе идет описание вектора изображения.
    Вот тут подробнее dreamhelg.ru/2017/02/symbol-svg-sprite-detail-guide

    так что либо поменять базовый svg либо просто вставить вместо тега внутри логотипа сразу картинку, при помощи обычного <img src=""/>
    Ответ написан
    Комментировать
  • Получение данных с GitLab на питоне, как?

    @tshipenchko
    Получить RAW ссылку на файл (пример, ориг)
    То как получить RAW ссылку через API, если вам нужно это автоматизировать

    В коде скачать файл любым удобным способом, например requests.get

    В зависимости от таблицы использовать подходящий обработчик: csv, xlsx
    Ответ написан
    Комментировать
  • Среднее арифметическое в файле, как посчитать?

    ramzis
    @ramzis
    FullStackOverflow
    from statistics import mean
    
    with open('txt.txt') as f:
        l1 = [float(i[:-5]) for i in f.read().split('\n')]
    
    with open(f'AVG{str(mean(l1)).replace(".", ",")}.txt', 'w') as f:
        f.write('\n')
    Ответ написан
    4 комментария