Как стать автором
Обновить

Пишем асинхронный парсер и скрапер картинок на Python с графическим интерфейсом

Время на прочтение6 мин
Количество просмотров13K

В этой статье мы создадим desktop-приложение, которое по нашему запросу будет сохранять на нашем диске заданное количество картинок. Так как картинок будет много, мы воспользуемся асинхронностью Python для конкурентной реализации операций ввода-вывода. Посмотрим, чем отличаются библиотеки requests и aiohttp. Также создадим два дополнительных потока приложения, чтобы обойти глобальную блокировку интерпретатора Python.

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии9

Введение в Tkinter

Время на прочтение4 мин
Количество просмотров428K
image

Всем доброго времени суток!

Tkinter – это кроссплатформенная библиотека для разработки графического интерфейса на языке Python (начиная с Python 3.0 переименована в tkinter). Tkinter расшифровывается как Tk interface, и является интерфейсом к Tcl/Tk.
Tkinter входит в стандартный дистрибутив Python.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии45

TextTest — кроссплатформенный фреймворк на python для тестирования GUI и не только. Часть 1

Время на прочтение7 мин
Количество просмотров13K
Лого Предлагаю поговорить сегодня о замечательном фреймворке для тестирования TextTest. Это кроссплатформенный инструмент для функционального тестирования с «record-replay» парадигмой. Как следует из названия TextTest пропагандирует довольно необычный на сегодняшний день подход текст-ориентированного тестирования, который позволяет легко и просто писать и читать тесты. Помимо TextTest мы поговорим о StoryText — являющимся строго говоря отдельном инструменте для тестирования GUI, но совместно с TextTest он позволяет делать это гораздо приятнее. Так же упомянем о третьем модуле от автора — CaptureMock.

Всем кому интересна эта тема, прошу под кат
Всего голосов 25: ↑20 и ↓5+15
Комментарии0

TextTest — кроссплатформенный фреймворк на python для тестирования GUI и не только. Часть 2

Время на прочтение13 мин
Количество просмотров11K
Лого Продолжение рассказа о замечательном кроссплатформенном фрейворке для функционального-тестирования TextTest. Первая часть статьи.

Читать дальше →
Всего голосов 26: ↑17 и ↓9+8
Комментарии2

Рисование графиков. Python. Tkinter

Время на прочтение2 мин
Количество просмотров141K
Это моя первая статья и я хотел бы рассказать о том как написать простейшую программу по рисованию графиков функций.
Статья ориентирована на новичков!
Начнем с того, что наша функция будет иметь вид:
y = c(x)
Где c(x) — это выражение от одной переменной «x».
Сразу считаем её.

f = input('f(x):')


Считать значение функции мы будем функцией eval().
Подключим нужные нам библиотеки.

from math import *
from tkinter import *
f = input('f(x):')


Теперь надо нарисовать оси координат.

from math import *
from tkinter import *

f = input('f(x):')

root = Tk()

canv = Canvas(root, width = 1000, height = 1000, bg = "lightblue", cursor = "pencil")
canv.create_line(500,1000,500,0,width=2,arrow=LAST) 
canv.create_line(0,500,1000,500,width=2,arrow=LAST) 

canv.pack()	
root.mainloop()


Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии9

Конвертируем .bmp в .png, с помощью Python и PIL

Время на прочтение1 мин
Количество просмотров8.2K
В предыдущем посте я воспользовался стандартным «PrtSc», на Windows XP, сделав серию из скриншотов, обработав и сохранив их в обычном Paint'е — получилось около 3.5 Мб на каждую картинку.

Здесь хочу исправить получившееся недоразумение, средствами питона (по-прежнему, версии 2.6).

Вообще забавно, но после установки PIL проблема решается в две строчки кода.
import Image

Image.open('1.bmp').save('1.png')

Получилось порядка 27 Кб на картинку, против первых 3.5 Мб

Продолжение..
Всего голосов 29: ↑17 и ↓12+5
Комментарии8

Измерение расстояния до объекта и его скорости

Время на прочтение9 мин
Количество просмотров57K
Технологию, которую я собираюсь Вам представить, я не встречал в найденных мной методах определения расстояния до объекта на изображении. Она не является ни универсальной, ни сложной, суть её заключается в том, что видимое поле (будем считать, что мы используем видеокамеру) калибруется линейкой и затем сопоставляется координата объекта на изображении с отметкой на линейке. То есть измерение ведётся по одной линии или оси. Но нам не нужно хранить отметку на линейке для каждого пикселя, алгоритму для калибровки нужно только знать размер линейки в пикселях и в метрах, а также координату пикселя, который является фактической серединой линейки. Очевидное ограничение — работает только на плоских поверхностях.

Кроме самого метода в статье рассмотрена его реализация на языке Python с использованием библиотеки OpenCV, а также рассмотрены особенности получения изображений с вебкамер в Linux, используя video4linux2 API.


Читать дальше →
Всего голосов 65: ↑63 и ↓2+61
Комментарии12

Python на Хабре

Время на прочтение7 мин
Количество просмотров451K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →
Всего голосов 182: ↑162 и ↓20+142
Комментарии65

Практика программирования игр на python: жизнь

Время на прочтение4 мин
Количество просмотров68K


Недавно стало известно, что python признан самым популярным языком для обучения студентов в США. Я, будучи студентом Технопарка, решил не отставать от тренда, поподробнее изучить этот модный язык и заодно написать несколько постов. Для разминки я решил реализовать Conway's Game of Life. Это довольно-таки забавная «игра», в которой мы можем в некотором смысле моделировать развитие группы организмов в окружающей среде. Правила такие: делим пространство на клетки, которые могут быть либо живыми, либо пустыми. А затем на каждом шаге состояние клетки обновляем в зависимости от числа живых соседей. Например, слишком много — клетка умирает, а если нет — рождается. Можно от души экспериментировать с конфигурациями, получаются разные странные вещи, иногда корабли. Корабли (gliders) — отдельная тема, это такие группы клеток, которые изменяются и вместе с тем путешествуют в пространстве. Кроме кораблей могут образовываться и другие группы клеток с хитрыми свойствами, но о них — в Википедии.
Читать дальше →
Всего голосов 71: ↑44 и ↓27+17
Комментарии11

Программа-помощник для освоения слепой печати на клавиатуре в Linux

Время на прочтение7 мин
Количество просмотров33K
Хочу показать и рассказать о небольшой программке, которая принесла пользу.

Однажды на работе мне написал друг. Диалог у нас состоялся примерно следующий:
— Привет, я тут обучаюсь технике слепой печати. Дело в том, что на линуксе нет программки, которая могла бы мне помочь. В общем, может ты сможешь быстренько написать такую?

Так как помочь другу — святое дело, да и задача выглядела интересной, помочь я согласился.

В итоге получилось вот что:



Кому интересно, подробности ниже
Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии34

Пишем графическую программу на Python с tkinter

Время на прочтение4 мин
Количество просмотров221K
В работе со студентами и учениками я заметила, что при изучении какого-либо языка программирования большой интерес вызывает работа с графикой. Даже те студенты, которые скучали на заданиях про числа Фибоначчи, и уже казалось бы у них пропадал интерес к изучению языка, активизировались на темах, связанных с графикой.

Поэтому предлагаю потренироваться в написании небольшой графической програмки на Python с использованием tkinter (кроссплатформенная библиотека для разработки графического интерфейса на языке Python).

Код в этой статье написан для Python 3.5.

Задание: написание программы для рисования на холсте произвольного размера кругов разных цветов.

Не сложно, возможно программа «детская», но я думаю, для яркой иллюстрации того, что может tkinter самое оно.

Хочу рассказать сначала о том, как указать цвет. Конечно удобным для компьютера способом. Для этого в tkinter есть специальный инструмент, который можно запустить таким образом:
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии27

Создание сапера при помощи модуля Tkinter

Время на прочтение6 мин
Количество просмотров19K
День добрый. Почти каждый начинающий программист стремится к созданию своей первой игры. Спустя пол года ленивого кропотливого обучения я решился написать сапера. Языком написания был выбран Python, модулем для добавления интерфейса tkinter, потому как уже имелся опыт работы с ним. Этот пост будет полезен скорее начинающим кодерам, но если вы итак все знаете, можете написать свои советы по улучшению кода в комменты.
Читать дальше →
Всего голосов 22: ↑14 и ↓8+6
Комментарии30

Разбираем и просматриваем квалифицированные сертификаты средствами Python/Tkinter

Время на прочтение10 мин
Количество просмотров12K
Квалифицированные сертификаты быстро стали неотъемлемой частью повседневной жизни. И все больше людей хотят увидеть этого «зверя» изнутри. Это с одной стороны. А с другой стороны разрабатывается все больше приложений, в которых задействуется информация иэ этих сертификатов. И это не только атрибуты ИНН или ОГРН владельца или издателя сертификата. Это может быть и информация о том какой криптопровайдер использован владельцем сертификата (атрибут subjectSignTool) для генерации закрытого ключа или на базе каких сертифицированных средств создан удостоверяющий центр (УЦ), выпустивший тот или иной сертификат. И если написать программку, которая будет анализировать выпускаемые сертификаты, то можно будут собрать интересную статистику по тому какие СКЗИ используют владельцы сертификатов и на базе каких (правда это менее интересно) сертифицированных (или несертифицированных) средств развернуты УЦ (атрибут issuerSignTools):
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии24

Как распознавание лиц помогает находить тестовые телефоны

Время на прочтение7 мин
Количество просмотров8K
Привет, хабровчане! В EastBanc Technologies ведётся большое количество проектов, связанных с мобильной разработкой. В связи с чем необходим целый зоопарк устройств для тестирования на всех этапах. И, что характерно, каждый отдельный девайс постоянно оказывается нужен самым разным людям, а найти его даже в одном отделе мобильной разработки из нескольких десятков человек — это целая история. Не говоря уже о том, что есть тестировщики, дизайнеры, PM’ы, в конце концов!

И чтобы не потерять телефон, а четко знать, где он и с кем, мы используем онлайн-базу, которая распознает сотрудников по лицам. Сейчас расскажем, как мы к этому пришли и реализовали её.

image
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии2

Подсчёт пчёл нейросетью на Raspberry Pi

Время на прочтение7 мин
Количество просмотров30K
Опубликовано 17 мая 2018 года

Сразу после установки улья я подумал: «Интересно, как подсчитать количество прилетающих и улетающих пчёл?»

Небольшое исследование показало: похоже, до сих пор никто не придумал хорошей неинвазивной системы, решающей эту задачу. А ведь было бы наверное полезно иметь такую информацию для проверки здоровья улья.

Во-первых, нужно собрать образцы данных. Raspberry Pi, стандартная камера Pi и солнечная панель: этого простого оборудования достаточно, чтобы записывать один кадр каждые 10 секунд и сохранять 5000+ изображений в день (с 6 утра до 9 вечера).


Читать дальше →
Всего голосов 68: ↑68 и ↓0+68
Комментарии47

Есть ли жизнь после Scratch, или как познакомить ребёнка с Python

Время на прочтение5 мин
Количество просмотров13K
У нас в EPAM работает школа программирования для детей сотрудников — e-kids. В школе волонтёры-сотрудники учат детей работать со Scratch — визуальной средой программирования, созданной специально для обучения детей и подростков. Но всегда рано или поздно наступает момент, когда Scratch уже становится детям не интересен.

Путём проб и ошибок нашим учителям удалось найти способ, как развивать детей дальше, чему учить, чтобы они при этом не потеряли интерес к программированию из-за слишком сложных задач. Так в e-kids стали обучать более сложному языку программирования — Python. В этой статье я собрала полезную информацию от коллег, кто преподает в школе, о том, как детей познакомить c Python.


Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии23

PyRegs: анализатор регулярных выражений Python 3

Время на прочтение2 мин
Количество просмотров7.5K

Когда не стало Kodos


Беда пришла неожиданно. Из Debian Wheezy изъяли старый, добрый PyQt3. А с ним на покой отправился и Kodos — мой любимый дебаггер регулярных выражений Питона. Много лет он помогал тестировать красивые и жуткие конструкци и тот факт, что apt-get install kodos больше не работает, вызвал желание немедленно исправить это досадное недоразумение.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии2

Калькулятор на python

Время на прочтение3 мин
Количество просмотров579K

Начало


Здравствуйте, в предыдущей статье я показывал как сделать игру на python, а сейчас мы посмотри как сделать простой калькулятор на python tkinter.


Читать дальше →
Всего голосов 22: ↑9 и ↓13-4
Комментарии2

Tcl/Tk. Разработка графического пользовательского интерфейса для утилит командной строки

Время на прочтение4 мин
Количество просмотров27K
Тестируя облачный токен на различных платформах, меня не покидала мысль о некой несправедливости: почему утилиты конфигурирования токенов PKCS#11 на платформе MS Windows имеют графический интерфейс, а для других платформ его нет. И в первую очередь это касается базовой утилиты p11conf, которая доступна для свободного использования и является утилитой командной строки, взаимодействие с которой осуществляется через стандартный ввод/вывод.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии32

Python и графический интерфейс для утилит командной строки Network Security Services

Время на прочтение5 мин
Количество просмотров17K
imageПакет Network Security Services (NSS) представляет собой набор библиотек, используемых при кроссплатформенной разработке защищенных клиентских и серверных приложений. Приложения построенные с использование NSS могут использовать TLS от v1.0 до TLS v1.3, PKCS #5, PKCS #7, CMS, PKCS #11, PKCS #12, S/MIME, сертификаты X.509 v3, OCSP и другие стандарты обеспечения безопасности. По своей функциональной мощности в области криптографии и PKI с NSS может сравниться разве что OpenSSL. Но при этом пакет NSS имеет одно неоспоримое преимущество перед OpenSSL, а именно имеет хранилище, в котором хранятся корневые сертификаты, сертификаты сторонних пользователей, информация о подключенных аппаратных ускорителях, токенах, смарткартах с интерфейсом PKCS#11.

В настоящее время пакет NSS поддерживает стандарт PKCS#11 v.2.40.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии5
1