Теги | Блог python программиста
Изображение гика

Блог питониста

Посты с тегом "python"

Пишем простой парсер на Scrapy

Одна из часто встречающихся задач - парсинг каких-либо сайтов. Для этой цели удобно использовать фреймворк Scrapy. Этот open source'ный фреймворк построен на базе асинхронной библиотеки Twisted, поэтому он сам асинхронный, это значит, что можно отсылать реквесты, не дожидаясь ответа сервера на предыдущие запросы, что существенно ускоряет парсинг, если сравнивать с синхронным подходом.

Читать далее

Пишем змейку на pygame

Есть такая библиотека для разработки двухмерных игр - pygame. Недавно я прошел курс на образовательном сайте udemy - Python Game Development : Creating a Snake Game from scratch. Этот курс посвещен созданию классической змейки на pygame. Хотел бы поделиться получившейся игрой. Весь код в данном посте я взял из данного курса, правда изрядно его изменил, в частности добавил использование классов.

Читать далее

Немного об импортах в питоне

Хотелось бы рассказать об одном моменте, связанном с системой импортов в питоне. Неподготовленному человеку может иногда показаться, что происходят нелогичные вещи, несоответствующие его ожиданиям. Так было со мной, когда я впервые столкнулся с данной проблемой.

Читать далее

Попытка разобраться с многопоточностью

Многопоточность подразумевает, что несколько потоков будут исполняться параллельно. В идеале использование многопоточности ускоряет выполнение программы. Однако, в python есть такая штука как GIL, Global Interpreter Lock, которая обеспечивает то, что в каждый момент времени активен только один поток.

Также GIL защищает внутренности питона и память от необдуманных действий программиста, но не защищает написанный код, чтобы сделать наш код потокобезопасным, нужно синхронизировать потоки, то есть предотвратить одновременный доступ к общим областям памяти.

Читать далее

Пишем будильник на питоне

Хочется написать себе будильник, который стартовал бы в определенное время, проигрывал бы несколько композиций и выключался бы до следующего раза. Это возможно сделать, используя, например, библиотеку gstreamer. 

Я буду писать его под Ubuntu, поскольку использую данную ОС дома. Также можно попробовать сделать то же самое под Raspbian, если у вас есть Raspberry. Будильник будет работать как демон, тоесть не будет блокировать терминал,  а будет работать в фоновом режиме.

Читать далее