Ответы пользователя по тегу Python
  • В каких случаях использовать мульпроцессинг/мультипоточность/asyncio?

    bogolt
    @bogolt
    Не питонист, но попробую ответить. Сам GIL живет внутри процесса, поэтому создание нескольких копий одного процесса вполне возможно. GIL разных процессов никак не будут пересекаться. Разные процессы могут обрабатывать разные данные. У разных процессов нет общей памяти ( если мы не учитываем shared-memory ). Разные процессы могут делать много полезного - парсить файлы, обрабатывать пользовательские запросы и тд.

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

    bogolt
    @bogolt
    Рекомендую вам выводить матрицы после каждого прохода цикла, думаю, что это наведет на понимание его работы.
    Ответ написан
    Комментировать
  • Запуск скрипта keyhunter.py Linux, как?

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

    Программа выдает какую-нибудь ошибку при запуске ?
    Ответ написан
  • Как можно поучавствовать в open source проекте?

    bogolt
    @bogolt
    Выбрать интересный опен сорс проект, в котором лично вам чего-то не хватает, или раздражают какие-то баги с которыми вы сталкиваетесь. Скачать код, добавить функционал или пофиксить баги. Выложить пул реквест. Повторять до удовлетворения состоянием проекта или потери интереса.
    Ответ написан
    Комментировать
  • Что лучше: python 2 или 3?

    bogolt
    @bogolt
    А вам нужен абстрактный питон или питон и какие-то особые библиотеки? Не смотря на то что питон 3 вышел довольно давно, до сих пор не все библиотеки работает под ним, и для многих из них придется пользоваться второй версией.
    Ответ написан
    Комментировать
  • Почему в Python изменяется строка после использования в функции с модулем на C?

    bogolt
    @bogolt
    Функция diff3 у меня вообще не работает. По крайней мере стабильно меняет значения которые я ей передаю да еще и возвращает NAN вместо значения.

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

    Разберитесь с этой функцией отдельно, отладьте ее вначале, независимо от остального кода.
    Ответ написан
    1 комментарий
  • Как в Python можно хранить список в памяти, чтобы он съедал меньше этой самой памяти

    bogolt
    @bogolt
    Использовать sqlite базу данных. Памяти ест мало, работает быстро ( разумеется при условии что вы ее открыли в памяти вызывав sqlite3.connect(":memory:"), а не в файле, но вам это то и нужно ).
    Ответ написан
    Комментировать
  • 12 летка хочет учиться программировать

    bogolt
    @bogolt
    Есть замечательная библиотека на питоне pygame для создания игр. Там на сайте есть и примеры как с ней работать. Вообще игры это отличная задача для начала — можно их делать сложными, можно простыми. Человек сразу видит результат своей работы, и это дает ему желание продолжать. Думаю каждый программист в детстве ( а многие в более зрелом возрасте ) мечтали сами делать игры.
    Ответ написан
    Комментировать