Ответы пользователя по тегу Python
  • Какую БД выбрать для парсинга на питоне и использовании в app на котлине?

    @rPman
    sqlite
    считай это отраслевой стандарт идеальный для мобильных пользователей

    правильно конечно нужно продумать что именно будет происходить с данными, но как я понимаю - они только на чтение, то sqlite идеальный вариант по всем параметрам
    Ответ написан
  • Какие есть программы для создания графического интерфейса с возможностью кодинга?

    @rPman
    Если убрать из требований python

    Я рекомендую для начинающего программиста баз данных лучше брать то что не потребует изучать лишнего, и использовать инструменты microsoft visual studio и его фреймворк, например winforms

    Microsoft Visual Studio это шикарный инструмент разработки простых интерфейсов (в мышевозекательном стиле WYSIWYG) и мне кажется до сих пор непревзойденный именно для новичков (но повторюсь, мне кажется в последних версиях что то сломали в идеологии)

    p.s. питон поддерживается студией так же никто не мешает интерфейс разрабатывать отдельно от расчетной части которая на питоне, ее можно вызывать просто как приложение, указывая что нужно сделать - в качестве параметров или в файле
    Ответ написан
  • Как спарсить название и цену игры в стиме?

    @rPman
    Зачем столько гемороя если есть официальное api?
    api.steampowered.com/ISteamApps/GetAppList/v0001 - список всех приложений
    store.steampowered.com/api/appdetails?appids=43864... - информация о приложении appids, код страны из которой запрос - cc
    цены в центах [App Id] > data > price_overview
    (взял это отсюда)

    По уму документация тут, ллидербоард тут
    Ответ написан
    Комментировать
  • Как узнать что на youtube канале началась прямая трансляция?

    @rPman
    настраиваешь свой сервер, который будет обрабатывать push notification запросы от гугла
    https://developers.google.com/youtube/v3/guides/pu...
    Ответ написан
    Комментировать
  • Как редактировать скрытый файл в Windows через Python?

    @rPman
    Флаг скрытый или системный отвечает исключительно за визуализацию в типовых программах типа консольной команды dir или проводника и не может отвечать за защиту от записи

    Точно других флагов нет? Поставь себе far и смотри информацию по файлу удобно.

    Защиту от записи может сделать флаг - только для чтения, он на столько считается устаревшим (но работающим даже на fat), что многие редакторы при его обнаружении на время сохранения файла его отменяют а потом возвращают, так как для системного администратора это создает больше проблем чем удобства, т.е. его уже не замечают но открыть на запись такой файл не получится
    Ответ написан
    8 комментариев
  • Как сделать так, чтобы в Python переменная изменилась через час?

    @rPman
    на каждой итерации цикла смотри текущее время и сравнивай его с сохраненным в переменной временем запуска, как только разница станет больше требуемого периода изменяй значение своей переменной и сохрани как то этот факт, чтобы последующая итерация не сделала это еще раз (для этого можно либо использовать еще одну переменную типа boolean либо выбрать какое то значение для переменной, в которой хранишь время запуска цикла.. например None
    Ответ написан
    Комментировать
  • Через какой модуль на python переводить текст без ограничений?

    @rPman
    попробуй Argos Translate
    Ответ написан
    Комментировать
  • Внедрения кода в exe файл?

    @rPman
    нет
    универсальных готовых инструментов на python для данной задачи не существует (я не смог найти но мне кажется никому адекватному в голову не придет это делать), если самостоятельно разобрать заголовки, распаковать упакованный и декомпилировать бинарный код, вычислить необходимые смещения а потом на питоне написать три строчки записи нескольких байт в файл - не будешь же считать что это на питоне все сделано.

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

    в данной задаче python - максимально неудачный инструмент.
    Ответ написан
  • Как сделать удаленный доступ к консоли сервера "Minecraft"?

    @rPman
    берешь что то типа этого и контролируешь из своего дискорд бота
    Ответ написан
    Комментировать
  • Какие библиотеки можно использовать для перевода на другие языки большого количества текста?

    @rPman
    https://github.com/argosopentech/argos-translate
    посмотри на их сайте есть демо, перевод неожиданно адекватный для открытых проектов (лет десять назад о таком можно было только мечтать)
    Ответ написан
    Комментировать
  • Возможно ли быстрее получать ответы с сервера на HTTP-запрос?

    @rPman
    в коде какая то дичь, обычно редко трогают переменную, используемую как итератор в циклах for что это за z+=z

    я верно понимаю, в коде берутся ссылки из массива, загружаются заголовки и отмечается в файле - какие рабочие?

    хочешь скорости - делай сразу несколько запросов, например используя асинхронные вызовы, если их не тысячи, можно даже все сразу запросить, дождаться окончания или таймаута и выдать ответ, так будет быстрее всего
    Ответ написан
    Комментировать
  • Как получить ответ от сервера в читабельной кодировке (utf-8)?

    @rPman
    Сервер на python? формируешь json с помощью json.dumps? добавь опцию ensure_ascii=False и кодируй строку в utf8
    json.dumps("Привет!", ensure_ascii=False).encode('utf8')


    p.s. если там php то добавь в json_encode опцию JSON_UNESCAPED_UNICODE
    Ответ написан
    3 комментария
  • Странная логика Python?

    @rPman
    буферизация - это механизм откладывания действия (записи, вывода и т.п.) на потом, когда количество необходимой работы наберется до некоторого количества (например количество символов в кеш-буфере превысит его размер)

    по окончанию работы программы буферы сбрасываются принудительно
    Ответ написан
    Комментировать
  • Не опасно ли делать бесконечный while?

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

    так что сам по себе бесконечный цикл не опасен
    но совершив ошибки при его написании можно хорошенько наступить себе на ногу
    Ответ написан
    Комментировать
  • Не знаю как это назвать?

    @rPman
    твой метод client.post_order?
    если да то переделай его так чтобы он принимал массив (все равно все методы, отсылающие на сервер запросы так и делают), тогда простыми проверками на пустые значения собираешь свой post
    Ответ написан
    3 комментария
  • Как реализовать что б при нажатии кнопки клавиатуры в телеграм боте у вас открывался чат с человеком?

    @rPman
    такого функционала у клиентов телеграм нет
    единственный способ открыть чат - написать сообщение
    Ответ написан
    Комментировать
  • Как каждые 24 часа добавлять монеты на баланс?

    @rPman
    Понятно что автор не удосужился просто понять код который привел сам, в нем нужно поправить sql запрос
    UPDATE `users` SET `balance` = `balance` + ? WHERE `user_id` = ?

    И настроить периодический вызов метода addBalance

    ... но это простая и неправильная практика построения финансовых приложений.
    Дело в том что финансовые приложения должны давать возможность анализировать историю (например чтобы можно было делать аналитический отчет на период), а еще это нужно чтобы выявлять и решать проблемы с логикой и кодом, отменять транзакции (а это один из способов решения многих других с внешними причинами) и т.п.

    Поэтому, в базе данных должны храниться все операции, а итоговый баланс должен считаться тригерами на основе этих данных (только не советую тригером каждый раз считать сумму всех операций, нужно хранить баланс, дату обновления и суммировать новые сделки с ним)
    Ответ написан
    Комментировать
  • Обработка видео на пайтон. Соединить фото в видео. Как сделать?

    @rPman
    Наверное лучший комбайн для обработки и кодирования видео - это ffmpeg, полноценных биндингов для питон нет (есть прослойки, вызывающие exe файл) типа таких, все остальные способы потребуют заметных усилий чтобы к примеру завести аппаратное ускорение на основе gpu или поддержать какой-нибудь экзотический контейнер или кодек.

    Т.е. если ты ограничишь задачу определенными кодеком и контейнером, то думаю можно будет найти другой инструмент, но скорее всего это будет не python

    p.s. чтобы реализовать увеличение fps видео, построенное на основе меньшего количества кадров, путем генерации новых изображений из соседних, нужно использовать технологии под названием
    "motion interpolation" или "optical flow", в ffmpeg для этого есть фильтр ​minterpolate
    Ответ написан
    Комментировать
  • Как раз в 15 минут обновлять значения в бд?

    @rPman
    Мне кажется ты ошибаешься с логикой и тебе надо не раз в 15 минут это делать, а то что будет если твое событие произойдет за секунду до окончания этого 15-минутного интервала? Т.е. на исполнение задачи (которую ты отменяешь) у тебя будет не 15 минут а секунда.

    Если тебе надо отсчитывать некоторое время с момента события, то нужно в базе хранить начало момента времени с которого начинается отсчет, тогда условие окончания интервала будет now-start_time>длительность_интервала, сделай такое поле finished вычисляемым в view или сразу в твоем запросе.

    Таких полей можно сделать несколько
    Ответ написан
    Комментировать
  • Как можно ускорить процесс записи csv в json?

    @rPman
    Ты запрашиваешь список ссылок на csv файлоы веб запросом, затем загружаешь по одной ссылке с сайта (самое долгое имхо) и для каждого формируешь массив (всего лишь двухмерный, т.е. твой json плоский), фильтруя записи по одному полю, плюс декодируя данные из utf-8 во внутреннее представление python (unicode) и обратно при сохранении, что медленнее чем работать с байтами.

    Т.е. что я бы сделал - либо используя асинхронщину либо (так просто проще закодить) двумя независимыми потоками или процессами, первый загружал бы данные (возможно сразу несколькими запросами, но если там один физический сайт-источник то это может не ускорить загрузку) и складывал бы их в файлы, а второй ждал бы не обработанные файлы (пока файл загружается и сохраняется на диск, его имя должно быть с пометкой о том что файл не готов, а по окончанию переименовывается), и обрабатывал бы их как поток байт (единственное место где нужно декодирование - это поиск подстроки-фильтре но помятуя про utf-8 в данном конкретном случае можно обойтись простым побайтовым поиском). Мало того, даже не надо заниматься кодированием json, просто выводи его print-ом, подставляя где надо имена полей и ковычки, нет нужды промежуточно сохранять это в массиве - прочитал csv строку и тут же ее сохранил в json, если принимающий понимает utf-8 (а сейчас все они понимают), т.е. нет нужды подменять символы на длиннющую конструкцию \uXXXX, максимум экранирование ковычек " и \ (то же самое с чтением csv),.. но прежде чем переписывать эту часть кода, достаточно хотя бы просто оптимизировать загрузку файлов, вполне возможно что 99% тормозов там
    Ответ написан