• Как вставить строчки в exel через pandas?

    Maksim_64
    @Maksim_64
    Data Analyst
    Важно что форматы ячеек, шрифты и тд остались прежними. Это возможно сделать?
    с учетом этого pandas будет недостаточно, проще всего с использованием openpyxl это будет сделать.
    Ответ написан
    Комментировать
  • Как сделать окончания в пайтоне?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    def plural(n):
        # Подсказка: 1 час, 3 часа, 5 часов
        pural = ['час', 'часа', 'часов']
        if n % 10 == 1 and n % 100 != 11:
            return pural[0]
        elif 2 <= n % 10 <= 4 and (n % 100 < 10 or n % 100 >= 20):
            return pural[1]
        return pural[2]
    Ответ написан
    Комментировать
  • Что можно делать с помощью Docker?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Docker это набор сервисов и утилит созданных для удобного управления встроенными в ядро Linux технологиями Namespace (для изоляции процессов) и CGroups (для управления ресурсами).

    По мимо Docker существует ряд инструментов призванных делать тоже самое Systemd-Nspawn, LXC, Podman, etc - все они работают похожим образом и точно так же изолируют Linux-овые процессы. Docker самый распространённый и популярный из-за стандартизации процесса сборки образа и удобных утилит для управления жизненным циклом контейнера, Docker это как libc - только в разрезе контейнеров.

    Контейнер можно запустить не имея ни одного из этих инструментов с помощью утилиты unshare - она позволяет точно также управлять Namespac-ами (управлять ресурсами придётся вручную добавив процесс в CGroups).

    Контейнер это изолированный Linux процесс - соответственно запустить получиться только Linux-овый софт и больше ничего. Контейнер это не маленькая виртуальная машина, контейнер это не Java для всего. Конетейнер это только средство запустить Linux-овый процесс в изолированной среде (и, возможно, ограничить его по ресурсам), например запустить приложение требующее наличия в системе конкретных зависимостей, но отсутствующих по факту. Или запустить в целях разработки конкретную версию PHP, Python, Ruby, etc при этом избежав конфликта зависимостей и Dependency hell из-за несовместимых библиотек на хостовой машине.

    Представь себе ситуацию, когда ядро Linux загрузилось и запустило только один (какой угодно) процесс, присвоив ему PID 1 - вот так контейнер выглядит изнутри.

    PS
    Есть конетйнеры на Windows Core они запустятся только на Windows и служат для изоляции только Windows софта и для них есть набор утилит, которые распространяются в виде набора бинарных файлов тоже, почему-то, под именемем Docker (не путать с Docker-Desktop, так как Docker-Desktop - это набор сервисов позволяющих виртуализировать ядро Linux и тем самым получить возможность запустить Linux процессы на Windows или MacOS).
    Ответ написан
    Комментировать
  • Есть ли универсальный модуль Python для работы с разными базами данных (mysql, postgresql, ...)?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    sqlalchemy вполне можно использовать как абстрактный интерфейс к базам данных, просто передавая в него строковые запросы без ORM.
    Ответ написан
    1 комментарий
  • Как приступить к практическим проектам? Учу, учу, учу теорию, но когда приступаю настоящему проекту, то начинается ступор. Что делать?

    @CBET_TbMbI
    Смотря в чём именно ступор.
    Лучше всего придумать самому себе задачу и делать её. Многие, например, игру какую-нибудь пытаются спрограммировать. Или просто какое-нибудь приложение или какой-нибудь веб-сервис.
    Задачу лучше придумать под себя, чтобы был интерес возиться. Если фантазия клинит, то хоть расскажи, что вообще интересно.

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

    xenon
    @xenon
    Too drunk to fsck
    Я считаю себя скорее бэкэндщиком, и да - много раз пришлось фронт заново повторять, вспоминать очевидное, потому что тяжело решать какую-то простую "фронтовую" задачу раз в 2-3 года. За это время все забываешь, да.
    Точно так же забывается golang, если долго программируешь на python, и вообще любые неиспользуемые знания пропадают - так уж мозг устроен.

    Но две важных вещи:
    1. Вспоминать забытое - просто и быстро, это не учиться с нуля. Скорее всего какой-нибудь cheatsheet поможет из сети или самодельный. Они не пропадают совсем.
    2. Это все равно надо. Хороший специалист в любой сфере должен иметь некоторое представление и о смежных вещах. Бекэндщику никуда без хотя бы базовых знаний по фронтенду. Фронтендщику бэк, наверное, нужен немного меньше, но если хочется быть ценным специалистом - то все равно нужно.
    Ответ написан
    Комментировать
  • Почему print(1 == True, 1 is True) вывод будет, True False, если можно по-подробнее?

    Vindicar
    @Vindicar
    RTFM!
    is проверяет идентичность, т.е. ссылаются ли два выражения на один и тот же объект.
    == проверяет эквивалентность, т.е. равны ли два объекта по содержанию.

    При этом == поддаётся переопределению, что позволяет разным объектам по-своему определять понятие равенства. is переопределять нельзя.

    Простой пример
    a = [1, 2, 3]  # создаём список
    b = list(a)  # создаём копию списка
    c = a  # создаём еще одну ссылку на список
    print(a == b)  # True - содержимое списка и копии равно друг другу
    print(a is b)  # False - но это два разных объекта
    print(a == c)  # True - объект равен самому себе
    print(a is c)  # True - потому что это один и тот же объект
    Ответ написан
    Комментировать
  • Как извлечь нужный текст из строки Python?

    Hivemaster
    @Hivemaster
    Админ, который хочет программировать
    s = '[Win32Window(hWnd=123456)]'
    d = s[s.index('=')+1:s.rindex(')')]
    Ответ написан
    1 комментарий
  • Pycharm виртуальное окружение?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    А у вас проблема со скачиванием? Трафик платный?
    Если проблема именно в скачивании, можно положить все необходимые библиотеки в виде wheels в папочку и оттуда устанавливать каждый раз, изучите параметры команды pip.

    С использованием одной и той же УСТАНОВЛЕННОЙ библиотеки есть проблема.
    Представьте, что у вас на библиотеке 3-й версии построено 5 программ. Появилась 4-я версия, и вы решили обновить версию библиотеки для последней разрабатываемой программы - упс! Поломались все 5 программ, каждая - по-своему.

    Каждый проект должен иметь собственное окружение с собственными версиями библиотек и самого Python.

    Переиспользовать установленные библиотеки рискованно, поэтому для этого специально никто не заморачивается.
    Ответ написан
    Комментировать