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

    @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% тормозов там
    Ответ написан
  • Какой вариант просмотра баланса BTC кошелька лучше?

    @rPman
    Можно использовать публичные сервера electrum, но если нужна массовый анализ то собирай данные сам, используя официальный кошелек и скрипта анализа.

    Самое простое, однократно запросить дамп utxo, а затем на каждый блок собирать информацию по транзакциям и обновлять балансы у себя в базе
    Ответ написан
    1 комментарий
  • Почему перестал компилироваться exeшник в Pyinstaller?

    @rPman
    3579 INFO: Appending archive to EXE C:\Users\sergey\desktop\dist\stars.exe
    3591 INFO: Building EXE from EXE-00.toc completed successfully.
    в конце оно пишет что все ок собралось, может не там ищешь exe?
    Ответ написан
  • Почему возникает ошибка при запуске файла exe Python через excel?

    @rPman
    Твой скрипт на питоне умеет запускаться с любым текущим каталогом?

    Может в коде запуска не указан текущий каталог, и используется тот, что последним использовался в excel (когда вызывается диалог открытия файла на сколько я знаю меняется текущий каталог)?

    Установи его перед вызовом с помощью WScriptShell.CurrentDirectory = "....."
    Ответ написан
    8 комментариев
  • Чтение excel файла в облаке?

    @rPman
    По твоей ссылке не выдается excel файл, а html страничка с авторизацией.

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

    p.s. ищи webdav доступ к файлам, на сколько я знаю у того же яндекс он есть
    еще лучше - используй amazon s3 или аналоги
    ну или идеальней (дешевле) всего, подними свой сервер и раздавай по своим протоколам и правилам
    Ответ написан
    Комментировать
  • Могу ли я загружать файлы на торрент с помощью Python?

    @rPman
    python биндинги для libtorrent идут в поставке почти с любой современной linux, например в ubuntu - python3-libtorrent, так же есть в pipy (для установки через pip)

    первый же пример из гугла
    Ответ написан
    Комментировать
  • Стоит отправлять запросы с ssl в Binance?

    @rPman
    Если отключаешь ssl контроль, значит допускаешь возможность атаки mitm (провайдер или публичный wifi), но так как api binance содержит дополнительное поле с цифровой подписью на основе секретного ключа, навредить тут возможности не будет (при подмене запроса binance его не примет и выдаст ошибку), максимум подсмотреть, какие операции выполняются
    Ответ написан
    Комментировать
  • Как сделать одну функцию для всех классов?

    @rPman
    Я не буду сейчас про конкретный пример говорить, и скажу в общем
    одну и туже функцию, но с небольшим отличием

    универсальное решение - метапрограммирование

    Это часто считается говнокодингом, в других языках типа c++ или c# есть препроцессор, простой язык шаблонизатор, игнорирующий частично или полностью синтаксические особенности базового языка

    Код функции разбивается на части, подобные в разных экземплярах этих функций, а различия вносятся через параметры функций препроцессора.

    В данном случае различия в имени класса, в прокси-вызове super и строки определяющей published_on, соответственно все остальное в функции можно определить в макросе препроцессора и сгенерировать код нужное количество раз, вызвав этот макрос.

    Лично я когда мне нужно в метапрограммирование, (использую не смейтесь php) добавив вызов своей утилиты в сборку , но ничто не мешает взять готовое, первый же гуглеж выдает filepp или gpp (сишный синтаксис макросов)

    недостатки подхода - исходные файлы до макро могут не поддерживаться IDE и редакторами, сломанный контроль синтаксиса и сложнопонятные сообщения об ошибках могут отпугнуть
    Ответ написан
    Комментировать