• Как можно узнать типы данных которые может кушать класс?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Открыть документацию к классу и прочитать в ней. Если документации нет - открыть исходный код и посмотреть в нём.
    Ответ написан
    Комментировать
  • Как написать или найти скрипт для мониторинга серверов?

    Sanes
    @Sanes
    PSutil или простой запрос на Python/PHP exec telnet
    spoiler

    import psutil,time,sys, json, socket
    
    # la = psutil.getloadavg()
    # cpu = la[0] / psutil.cpu_count() * 100
    cpu = psutil.cpu_percent(interval=1)
    ram = int(psutil.virtual_memory().percent)
    disk = int(psutil.disk_usage('/').percent)
    sUptime = int(time.time()) - int(psutil.boot_time())
    
    hostname = socket.gethostname()
    
    if sUptime < 86400 :
        dUptime = 0
    else:
        dUptime = sUptime // 86400
    
    hUptime = sUptime // 3600 % 24
    
    if cpu > 100 :
        cpu = 100
    
    mUptime = sUptime % 3600 // 60
    
    totalCpu = psutil.cpu_count()
    totalRam =  int(psutil.virtual_memory().total / 1024 / 1024)
    totalDisk = int(psutil.disk_usage('/').total / 1024 / 1024 / 1000)
    
    r = {"cpu": cpu, "ram": ram, "disk": disk, "d": dUptime, "h": hUptime, "m": mUptime, "hostname": hostname, "totalDisk": totalDisk, "totalCpu": totalCpu, "totalRam": totalRam}
    
    print(json.dumps(r))

    Ответ написан
    Комментировать
  • Почему не обновляется бд на heroku?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Flask
    Седой и строгий
    А почему вы ни документацию не читаете, ни поиском не пользуетесь? Чуть ли не 9 из 10 вопросов по тегу об этом. Каждую неделю кто-нибудь спрашивает. Год за годом!
    Ответ написан
    1 комментарий
  • Как поменять при выводе списка последнюю запятую на 'или'?

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

    spoiler
    В скобках замечу, что очень полезно будет заодно изучить тему «списки», обратить внимание на литералы списков. Также порекомендую никогда не использовать имена стандартных типов (list, dict и т.п.) в качестве имен своих переменных. Если очень хочется, пиши my_list.
    Ответ написан
    2 комментария
  • Куда выводить деньги в РФ?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Если через свифт не выводится - то армянские, казахские, узбекские и т.п. карты банков в помощь.
    Ответ написан
    Комментировать
  • Где найти полное руководство пользователя по Линуксу?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Выше уже сказали про ман
    Я же ещё порекомендую книгу руководство системного администратора unix издание 5

    Апд
    Насчёт версии ставьте убунту дебиан или федору разницы конечно особой нет но крайне неприятно словить мелкий глюк при переносе кода на прод.
    Ответ написан
    Комментировать
  • Можете порекомендовать сайты и курсы для изучения Python'a?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Могу порекомендовать не учиться по курсам.
    Ответ написан
  • Pyrogram bot: как отправить фото по айди?

    EntireMusic
    @EntireMusic Автор вопроса
    (:
    Всем большое спасибо за подсказки, особенно User . Проблема была как раз в фильтре. Нужно было искать photo и photo.file_id.
    Универсальный вариант - скачивать и отправлять фото, т.к. пересылка не будет работать из закрытых чатов. Вот такую функцию по-быстрому сообразил для загрузки фото.
    async def dl_last_photo(target):    #передаём в функцию ID или Username чата
        async for msg in app.get_chat_history(target, limit = 50, offset_id = -1):    #ищем в истории с конца, обрабатываем 50 сообщений
            if msg.photo:    #если есть фото
                print(msg.photo.file_id)    #в консоль выводим ID - не обязательно
                await app.download_media(msg.photo) #скачиваем фото из сообщения в стандартный каталог (папка_бота/downloads)


    По аналогии можно фильтровать и другие типы файлов. Так же можно менять папку, куда скачивается файл. И если вы уверены, что чат открыт и разрешена пересылка - можно и сразу переслать фото по ID куда нужно.
    Ответ написан
    Комментировать
  • Где применяют python помимо веба и data science?

    @dmshar
    Вот осенил вас такой сложный и уникальный вопрос. Ну почему не приложить минимальных усилий и не найти самому ответ на него? Это во-первых, интересно, во-вторых развивает ваши мозги, в третьих, вы получаете ответы, где люди думали над ним, собирали информацию, старались ответ изложить доходчиво и пр. А на форуме - ну кто-то что-то вам скажет в ответ на такой обширный вопрос. И толку.
    Вот, зашев Гуугл. Вот прямо "из свежачка"- статья июльская.
    https://medium.com/geekculture/heres-everything-yo...

    Вот тоже ответы с первой ж страницы выдачи. Изучайте:
    https://brunoyam.com/blog/programmirovanie/pythons...
    https://otus.ru/journal/gde-ispolzuetsya-python/
    https://skillboх.ru/media/code/dlya_chego_nuzhen_python
    Ответ написан
    4 комментария
  • Где применяют python помимо веба и data science?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    - административные скрипты, devops (ansible к примеру)
    - нейронные сети
    - всякого рода парсеры и утилиты преобразования данных
    - обработка изображений (OpenCV)
    и т.п.
    это так - навскидку...
    Ответ написан
    Комментировать
  • Где применяют python помимо веба и data science?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Почти везде, это язык общего назначения. Понятно, что на нём не пишут операционные системы, драйвера и прошивки, так как он интерпретируемый.
    Ответ написан
    3 комментария
  • Почему Pyrogram не видит юзеров по ID? Как решить проблему?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    ban_chat_member должен работать, а вот получение по id не будет работать, если диалога с этим пользователем раньше не было, для защиты от перебора людей в телеграмме.
    https://docs.pyrogram.org/faq/peer-id-invalid-error

    Внизу страницы есть комментарий по этому поводу
    Ответ написан
    5 комментариев
  • Безопасно ли отправлять данные по HTTPS?

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    Если злоумышленник установит свой сертификат на компьютер жертвы, то он сможет перехватить, расшифровать, и зашифровать трафик так, что ни сервер, ни пользователь не заметят.

    Если злоумышленник не установит свой сертификат, то пользователь получит соответствующее сообщение, перед тем, как сайт будет открыт. Если пользователь проигнорирует все предупреждения и пройдёт через много уровней "обороны" с нажатием кнопок "да, я уверен, пустите меня", то злоумышленник точно также сможет перехватить.

    В остальном всё безопасно. Вдвойне безопасно, если клиент проверяет, что подключение произошло именно с тем сертификатом, который ожидается.

    В целом https-у вполне доверяют банковскую и всякую секретную государственную информацию (в этом случае вместо обычных сертификатов и шифрования используют специальные, но всё же)
    Ответ написан
    Комментировать
  • Как правильно составить запрос INSERT в postgresql?

    Melkij
    @Melkij
    PostgreSQL DBA
    ... DO UPDATE SET payment_date = info.payment_date + interval '23 hours';

    Данные конфликтующей строки доступны
    The SET and WHERE clauses in ON CONFLICT DO UPDATE have access to the existing row using the table's name (or an alias), and to rows proposed for insertion using the special excluded table.

    имени таблицы (или алиаса указанного в запросе) - та версия строки что есть
    псевдоним excluded - те значения что этот insert предполагал записать
    Ответ написан
    2 комментария
  • Возможно ли создать кроссплатформенное приложение на php?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    но не просто в виде exeшника файла, а отдельного, опять же, десктоп приложения но с большим функционалом

    Чем отличается приложение в виде экзешника от десктоп приолжения с большим функционалом? размером экзешника или ты плохо понимаешь что такое экзешник?

    Здравствуйте, появилась идея создать кроссплатформенное приложение: ВЕБ + ДЕСКТОП

    Отлично. Язык выбрал, а платформу ты какую выбрал для кроссплатформенности?
    А еще лучше, какие ты уже приложения сделал, хотя бы некроссплатформенные?

    Хочу синхронизировать десктоп приложение с веб составляющей

    чего?

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

    vabka
    @vabka
    Токсичный шарпист
    Сдать ноутбук по причине "мне не нравится" не выйдет, тем более, если сбой из-за установленного стороннего ПО, тем более, после четырёх месяцев.

    Если ноутбук на гарантии, то можно придти в магазин и отдать его на экспертизу - если проблема была в железе, и эта проблема будет очевидной, то могут вернуть деньги/обменять с доплатой.

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

    PS: И даже в период 14 дней нельзя было бы ноут сдать, так как он входит в перечень технически сложных товаров.
    Ответ написан
    Комментировать
  • Cрок регистрации домена истек, а он всё ещё зарегистрирован на меня, почему?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Через месяц. Например:
    created 2014-05-30T14:16:17Z
    paid-till 2023-05-30T15:16:17Z
    free-date 2023-06-30
    Ответ написан
    2 комментария
  • Есть ли смысл использовать Git?

    @Vitsliputsli
    Можно. Но, например, когда проект начнет работать вам понадобится добавить новую фичу, а следовательно у вас появится 2 версии и нужно будет их как-то легко разделять. Пока вы будете делать эту новую фичу, нужно будет сделать еще одну побыстрее, уже 3 версии. Можно наделать отдельные директории и переключаться между ними, использовать внешние утилиты сравнения, а можно использовать git.
    Когда через год понадобится разобраться, а зачем так было сделано, можно найти коммит, в рамках которого было внесено изменение и понять зачем. Еще лучше, если коммиты связаны с тасками в системе управления проектом.
    Когда наскучит вручную таскать код на сервер. Когда устанешь копировать файлики между версиями для переноса функционала. Когда все сломал, и понимаешь, что легко бы нашел причину, если бы фиксировал предыдущее стабильное состояние. И это только то, что первое приходит в голову.
    Ответ написан
    Комментировать
  • Как организовать одновременную работу Telegram бота (Aiogram) и Flask?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Не надо их смешивать. Просто сделайте отдельно и пусть подключаются к одной БД. Так будет и надёжнее, и безопаснее, и призводительность будет выше, и проще всё это будет устроено, что не мало важно.
    Даже запускал бы я эти процессы в разных докер-контейнерах. Микросервисаня архитектура, масштабирование, прозрачность, элегантность и гибкость.
    Стартуете всё одним compose-файлом, а если будет не хватать в будущем, то куберовский кластер можно будет пристегнуть и нигде не упрётесь в нестандартные проблемы.

    Не изобретайте себе приключения на пустом месте.
    Ответ написан
    2 комментария
  • Можно ли задать размеры и расположение консольного окна при запуске через subprocess на python?

    Vindicar
    @Vindicar
    RTFM!
    По-простому - нет. Можно через задницу, т.е. через WinAPI.
    Лучше напиши, зачем тебе это - может, проще не использовать консоль?
    А мне по-простому и не интересно

    * используй ctypes для работы с функциями winapi
    * Функция WINAPI EnumWindows() чтобы найти все окна в системе
    * Функция WINAPI GetWindowThreadProcessId() чтобы узнать ID процесса, которому принадлежит окно.
    * таким образом ищешь дескриптор окна своего дочернего процесса
    * Функции WINAPI SetWindowPos() + SetWindowSize(), чтобы позиционировать найденное окно

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