• Как посчитать сколько прошло секунд с даты до другой?

    Vindicar
    @Vindicar
    RTFM!
    Не изобретай велосипед, а используй datetime.timedelta, его для этого и придумали.
    import datetime
    
    moment1 = datetime.datetime(2021, 9, 2, 12, 44, 11)
    moment2 = datetime.datetime(2021, 9, 2, 12, 45, 55)
    delta = moment2 - moment1
    print(delta.total_seconds())
    Ответ написан
    Комментировать
  • Как использовать результаты одного вызова метода в разных местах шаблона?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Вызывать метод в представлении и передавать его результат в контекст шаблона.
    Ответ написан
    Комментировать
  • Как умножить каждый элемент списка на разные числа?

    @Zanak
    zip забыли :)

    l1 = [1, 2, 3, 4, 5, 6, 7]
    l2 = [5, 4, 8, 3, 7, 8, 9]
    l3 = [l * r for (l, r) in zip(l1, l2)]
    print(l3)
    Ответ написан
    Комментировать
  • Можно ли отфильтровать пользователей по ip для определенной сети в Bind9?

    hint000
    @hint000
    у админа три руки
    чтобы для, допустим, одних локальных ip адресов сервер возвращал один ответ, а для других - другой
    Нет, потому что для него они все будут под одним внешним 205.67.89.1, он не сможет их различить.
    Но если сеть за 56.34.77.129 под вашим управлением, тогда да. Тогда вы сможете пробросить VPN между двумя сетями, и 192.168.1.2, 192.168.1.3, 192.168.1.4 смогут ходить на Bind прямо со своими локальными адресами через VPN, без NAT. И тогда можно исхитриться в настройке Bind, чтобы он разным клиентам давал разные ответы.
    Ответ написан
    1 комментарий
  • Как парсить очень сложный текст?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Если вы хотите что-то парсить, это значит, что этого "чего-то" очень-очень много. Тем более, если хотите применять ML. В этом случае нужна еще и обучающая выборка, где есть много-премного примеров входных данных в размеченном виде.
    К примеру на сайте службы доставки есть районы, где они работают

    Из вопроса не ясно сколько "грязных" данных есть. Неужели на одном единственном сайте службы доставки НАСТОЛЬКО много адресов в таким виде? Или таких сайтов миллион?
    Паресеры и ML превосходят возможности человеческой обработки только на больших, очень больших масштабах.

    Из вашего вопроса складывается впечатление, что вы спрашиваете как сделать некий парсер, который будет парсить ЛЮБЫЕ грязные данные произвольного вида и типа в любых количествах.
    Детализируйте свой вопрос, Показывайте больше примеров.

    Сильного ИИ ещё не существует (а когда появится, он будет не менее ленив, чем те, кому призван помогать).

    Для вас с вашим слишком общим вопросом есть только общие рекомендации.
    извлеките данные в текстовом виде;
    • просмотрите глазами: если писать парсер дольше, чем перелопатить вручную, а при пополнении в датасет может прийти совершенно нового вида мусор, то парсер не нужен, обрабатывайте руками;
    • настраивайте обработку датасета по ступенчатой схеме так, чтобы на каждой ступени происходили минимальные не калечащие изменения как можно большего объёма данных, а выхлоп передавался на следующую ступень без потери данных предыдущего шага;
    • просматривайте изменения, затронутые каждым шагом, если видите порчу данных, делайте дополнительные промежуточные шаги;
    • серией ступеней из простых замен по шаблону и рег-экспу делайте текст более структурированным: заменяйте разделители по паттернам, экранируйте или удаляйте содержимое скобок, заменяйте кавычки на однотипные, убирайте мусорные элементы, которые гарантированно не дадут сведений о полезных данных; раскрывайте аббревиатуры и сокращения, приводите синонимы к одному из вариантов...
    • на каком-то этапе ваш входной датасет должен превратиться из монолитного текста в CSV-поток с одной единицей данных на строку;
    • дальше так же ступенчато делайте чистку и дедупликацию потока, разделяйте записи на отдельные поля, выделяйте новые атрибуты.

    Постройте пайп-лайн так, чтобы изменения, внесённые каждым шагом можно было анализировать в виде диффа. Сделайте отдельный аналитический "вью", где будут видны только затронутые правкой ступени данные. Сразу видно будет косяки и калечащие изменения.
    Считайте статистику правок каждой ступенью, реагируйте на крайней случаи.
    Важно, что на каждом этапе энтропия датасета должна уменьшаться. Любая потеря данных вредна, поскольку заметить, скажем, что у вас "г." обозначает не только город, но и, к примеру, "гражданский" в большом количестве топонимов в конце обработки -- это фатально. Вы запутаетесь. Нужно выносить удаляемые данные в отдельные поля и оставлять возможность делать по ним анализ на более поздних этапах.
    В целом исходный датасет у вас всегда созранён и всегда можно быстро повторить шаги.
    Сохраняйте этапы написания парсера в системе контроля версий, делайте чаще коммиты с внятными описнаиями.
    И да хранит вас Кнут и Страуструп.
    Ответ написан
    Комментировать
  • Почему данные не приходят в шаблон?

    tumbler
    @tumbler Куратор тега Django
    бекенд-разработчик на python
    Вы в шаблон передаете Queryset. У него нет атрибутов title и прочих.
    Ответ написан
    2 комментария
  • Как "продолжить"?

    shabelski89
    @shabelski89
    engineer
    *** Я же учил Python ***

    Час, день, неделя, годы,
    Бессмысленный и длинный PEP,
    В дни жестокой непогоды,
    Учит пайтон человек.
    Ответ написан
    1 комментарий
  • Как правильно отобразить товары на странице корзины товаров?

    tumbler
    @tumbler Куратор тега Django
    бекенд-разработчик на python
    Схема неправильная. Телефон и ноутбук - это одна и та же сущность, товар.
    Ответ написан
    1 комментарий
  • Как отправлять запрос через requests с другого ip?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Правильно настроив маршрутизацию средствами операционной системы. А на уровне Python никак.
    Ответ написан
    2 комментария