Ответы пользователя по тегу Python
  • Раньше, файл создавался сам, а теперь перестал, почему?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обработай Exception

    except Exception as e:
            print 'Reason: ' + e.errno
    Ответ написан
    Комментировать
  • Как правильно написать мультипоточность на питоне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Blankspace у

    1) тебя все задачи - независимые. Ты можешь запускать 6 отдельных процессов на Python. В таком случае тебе не надо думать о синхронизации потоков.
    2) ты описал задачу максимальной утилизации ресурсов. Это - неверная задача. Это все равно что ты захотел сжечь побольше бензина. Цель - быстрее закончить парсинг N сайтов например используя M proxy серверов.
    3) Твой вопрос
    Сколько максимально я могу парсить сайтов по такой схеме, ориентируясь на мощность процессора

    Ответ - никто не знает. Не существует такой расчетной формулы. Есть скорее сет экспериментов которые ты сам будешь запускать на своей конфигурации и в зависимости от параметров (M,N) и получать результирующее время в секундах или в минутах. Процессорные мощности здесь скорее всего нипричем. Здесь сильнее влияет канал ввода вывода. Тоесть скорость сети и скорость с которой ты сохраняешь на диск разобранные данные.

    Точно также поступают архитекторы когда думают о дизайне очень сложной системы. Просто берут аналог. И его цифры. И пытаются осторожно экстраполировать цифры.

    Мегагерцы и мегафлопы и количество ядер процессора - эти метрики можно использовать в других задачах не похожих на твою.

    Почитай также про закон Амдала. Он сработает в твоём случае.
    Ответ написан
    Комментировать
  • Как скачать файл скрипта с сайта?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если разрешать качать back-скрипты - то это был-бы взлом всех веб-ресурсов.
    Ответ написан
    Комментировать
  • Как получить кол-во атрибутов класса и передать атрибуты в словарь?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не знаю как устроен Renpy но доменная модель совершенно не продуманная. Можно создать базовый тип для "персонажа". Имя там... возраст. И производные от него указать.

    Мы-же в парадигме ООП работаем, верно?
    Ответ написан
  • Как переделать telegram bot под serverless архитектуру?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Serverless - это опция облака. А это значит что ты обязан выбрать облачного провайдера. Например AWS или GCP.
    После этого переписать своего бота с использованием либо AWS-Lambda либо Google Functions.
    Ответ написан
  • Как сделать парсер рандомных картинок prnt.sc discord.py?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно туда самому загрузить картинку и посмотреть какой Url тебе возвращает API. Дальше - наверное можно догадаться о последовательности. Любой хомо-сапиенс как-то способен догадаться.
    Ответ написан
    Комментировать
  • Как метод len заменить функцией?

    mayton2019
    @mayton2019
    Bigdata Engineer
    def len2(s, cnt = 0) : 
      if (not s) :
        return cnt
      else :
        return len2(s[1:], cnt + 1)
    Ответ написан
    Комментировать
  • Почему программа «шифрования» не работает с русским алфавитом?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Плох тот учитель что не видит простой шифр Цезаря. И какая разница Питон или не питон когда
    просто надо спросить ученика как он вообще сам понимает свою разработку?

    И удвоение алфавита здесь не нужно. Цезарь ведь поворачивает алфавит циклически. Берите остаток от деления на 33. А то что? Был-бы у вас алфавит в терабайт - то вы бы ставили двухтерабайтный диск чтобы решить такую задачу?
    Ответ написан
    Комментировать
  • Как лучше организовать пет-проект простого мониторинга?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У домашних проектов одна беда. Их никогда не заканчивают. Бросают где-то посередине потому-что кроме автора - никому не нужно. По поводу вопроса - бери просто 1-й вариант и делай как проще. Потому-что упрощать на данном этапе - гораздо важнее чем усложнять. Усложнить любой джун сможет. Ведь требований нет.
    Ответ написан
    1 комментарий
  • Как коммитить только одно сообщение в kafka-python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Проблема не очень понятна. Но вы можете сделать джобы полностью независимыми создав для каждого класса джобов свой топик.
    Ответ написан
  • Как правильно считать float из файла .txt Python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это невозможно. Не все десятичные числа представимы во float.

    Прошу прощения но я приведу пример на Java. Там есть нужный API для шагания по float вверх и вниз по оси.
    Возможно таковой есть в Python но это щас не важно. Важна суть.

    float f = 59131.999999999985f;
            double d = 59131.999999999985;
    
            System.out.printf("From float : %.12f\n", f);
            System.out.printf("From double : %.12f\n", d);
    
            System.out.printf("Next upper float from f = %.12f\n", Math.nextUp(f));
            System.out.printf("Next  down float from f = %.12f\n", Math.nextDown(f));

    в выводе видно что данное десятичное число не представимо во float. Ближайшее 32х разрядное сверху это 59132.003906250000 а ближайшее снизу это 59131.996093750000 и конвертер из текстового формата в float32 совершенно верно выбрал 59132.000000000000 так как оно наиболее близко аппроксимирует исходные данные.
    From float : 59132.000000000000
    From double : 59131.999999999985
    Next upper float from f = 59132.003906250000
    Next  down float from f = 59131.996093750000

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

    Деньги кодировать во float / double нельзя. Будут необъяснимые потери.
    Ответ написан
    Комментировать
  • Зачем надо закрывать курсор при работе с БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дело в том что курсор может потреблять ресурсы. Например вы захотели взять первые 10 строк из 10000000 выборки но предварительно отсортировали. Выбрали 10 строк и не сделали финализирующие протокольные действия в Python. База данных будет удерживать в памяти алгоритмы и структуры данных для снапшота результата этого запроса до тех пор пока не придет явный CLOSE с вашей стороны либо интеллекуальный драйвер который еще и обладает логикой уборки мусора сам не догадается что Statement уже вышел из scope вашего использования и может быть удалён GC.

    Я был свидетелем ситуации когда крупное ent-приложение Java/Oracle переполняло память из-за неверной обработки Exception и плодила много незакрытых курсоров в БД. Java от этого не сильно страдала (GC всё убирал) но страдал Oracle. Потому что уборка происходила слишком поздно. Пофиксилось тогда переписыванием с try на try-with-resources.

    Поэтому если вы неряшливо обращаетесь с курсорами (явными и неявными (обычный select к примеру может прождать неявный курсор)) то не ваше приложение а база данных почувствует себя плохо. Как быстро и какие ошибки вы будете получать - зависит от настроек вашей БД.
    Ответ написан
    Комментировать
  • Как с помощью python вшить информацию в музыку?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если короткий ответ - то да. Если более длиный. Смотря в каком формате музыка. Для mp3 существует одни библиотеки, для Vorbis другие ну и для Apple - форматов тоже что-то своё.
    Ответ написан
    Комментировать
  • Как правильно разделить большой модуль с единственным классом?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть такое старое правило что сначала нужно писать тесты. Без тестов ты конечно можешь начать рефакторинг но если что-то сломалось то сложно будет детектировать поломку именно в тот момент. Это всплывёт позднее.

    Далее без исходников сложно что-либо советовать. Тут - сколько людей столько и мнений.
    Ответ написан
    7 комментариев
  • Бесконечная длина пароля при конечном алфавите в string.printable python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Книга кодов бесконечной длины - без вариантов на расшифровку. Остался пустяк. Придумать где ее хранить и как передавать.
    Ответ написан
  • Подойдёт ли Python для астрологического веб-сервиса?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне кажется вопрос должен звучать по другому. Какой язык знает новичек. И какие есть готовые библиотеки для астрологии в этом языке.

    А так по теме топика... да. 100% подойдет. Точняк подойдет. Чегож он для биг-даты подходит и для такого пустяка вдруг не подойдет?
    Ответ написан
    3 комментария
  • Можно ли пользоваться трафиком выделеным на мессенджеры через браузер смартфона?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это вопрос к оператору, как он ведет учет трафика.
    Если считается просто всё где destincation addr like ('.vk', '.telegram,org', ..) то никакой дополнительной пользы вы с этого не получите. Если он считает destination port... ну такое. Как это приспосабливать под ваши интернет-нужды - непонятно.
    Ответ написан
  • Как найти расхождения строк в двух txt файлах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты правильно сделал что преобразовал все строки файла в set.

    Там есть готовый метод
    set.difference(...)
    который твою задачу решает. Только надо строки файла преобразовать. Удалить все символы что находятся до ";"
    Ответ написан
    4 комментария
  • Определить название города по широте и долготе?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Какая-то сетевая ошибка. Хз что значит. Предположительно ты пошел на сетевой адрес который не доступен.

    Смотри. Судя по всему geocoder - это просто посредник который обращается к Geo-IP-провайдерам и качает с них информацию. Возможно здесь https://github.com/DenisCarriere/geocoder#providers полный список провайдеров и при вызове метода надо где-то указать либо url либо тип провайдера.
    Ответ написан
  • Обучение базы для OpenCV Python, где изучить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    научить отличать собаку от кота, без прибегания к существующим базам

    Тут есть один нюанс. База котов и собак уже заранее тегирована. Тоесть кто-то проделал колоссальную работу собирая фотки и раскладывая их на 3 кучки или три фолдера с картинками. Коты. Собаки. И черт-знает-что.

    Если ты решил сам формировать свой учебный датасет - то тебе надо во первых собрать большое количество материала. Чем больше - тем лучше. И во вторых сесть и самому их тегировать.
    Ответ написан