В этой статье мы создадим desktop-приложение, которое по нашему запросу будет сохранять на нашем диске заданное количество картинок. Так как картинок будет много, мы воспользуемся асинхронностью Python для конкурентной реализации операций ввода-вывода. Посмотрим, чем отличаются библиотеки requests и aiohttp. Также создадим два дополнительных потока приложения, чтобы обойти глобальную блокировку интерпретатора Python.
Введение в Tkinter
4 мин
428KВсем доброго времени суток!
Tkinter – это кроссплатформенная библиотека для разработки графического интерфейса на языке Python (начиная с Python 3.0 переименована в tkinter). Tkinter расшифровывается как Tk interface, и является интерфейсом к Tcl/Tk.
Tkinter входит в стандартный дистрибутив Python.
+62
TextTest — кроссплатформенный фреймворк на python для тестирования GUI и не только. Часть 1
7 мин
13KТуториал
Предлагаю поговорить сегодня о замечательном фреймворке для тестирования TextTest. Это кроссплатформенный инструмент для функционального тестирования с «record-replay» парадигмой. Как следует из названия TextTest пропагандирует довольно необычный на сегодняшний день подход текст-ориентированного тестирования, который позволяет легко и просто писать и читать тесты. Помимо TextTest мы поговорим о StoryText — являющимся строго говоря отдельном инструменте для тестирования GUI, но совместно с TextTest он позволяет делать это гораздо приятнее. Так же упомянем о третьем модуле от автора — CaptureMock.
+15
TextTest — кроссплатформенный фреймворк на python для тестирования GUI и не только. Часть 2
13 мин
11KТуториал
Продолжение рассказа о замечательном кроссплатформенном фрейворке для функционального-тестирования TextTest. Первая часть статьи.
+8
Рисование графиков. Python. Tkinter
2 мин
141KЭто моя первая статья и я хотел бы рассказать о том как написать простейшую программу по рисованию графиков функций.
Статья ориентирована на новичков!
Начнем с того, что наша функция будет иметь вид:
y = c(x)
Где c(x) — это выражение от одной переменной «x».
Сразу считаем её.
Считать значение функции мы будем функцией eval().
Подключим нужные нам библиотеки.
Теперь надо нарисовать оси координат.
Статья ориентирована на новичков!
Начнем с того, что наша функция будет иметь вид:
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()
+19
Конвертируем .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 Мб
+5
Измерение расстояния до объекта и его скорости
9 мин
57KТуториал
Технологию, которую я собираюсь Вам представить, я не встречал в найденных мной методах определения расстояния до объекта на изображении. Она не является ни универсальной, ни сложной, суть её заключается в том, что видимое поле (будем считать, что мы используем видеокамеру) калибруется линейкой и затем сопоставляется координата объекта на изображении с отметкой на линейке. То есть измерение ведётся по одной линии или оси. Но нам не нужно хранить отметку на линейке для каждого пикселя, алгоритму для калибровки нужно только знать размер линейки в пикселях и в метрах, а также координату пикселя, который является фактической серединой линейки. Очевидное ограничение — работает только на плоских поверхностях.
Кроме самого метода в статье рассмотрена его реализация на языке Python с использованием библиотеки OpenCV, а также рассмотрены особенности получения изображений с вебкамер в Linux, используя video4linux2 API.
Кроме самого метода в статье рассмотрена его реализация на языке Python с использованием библиотеки OpenCV, а также рассмотрены особенности получения изображений с вебкамер в Linux, используя video4linux2 API.
+61
Python на Хабре
7 мин
451KНекоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
+142
Практика программирования игр на python: жизнь
4 мин
68KНедавно стало известно, что python признан самым популярным языком для обучения студентов в США. Я, будучи студентом Технопарка, решил не отставать от тренда, поподробнее изучить этот модный язык и заодно написать несколько постов. Для разминки я решил реализовать Conway's Game of Life. Это довольно-таки забавная «игра», в которой мы можем в некотором смысле моделировать развитие группы организмов в окружающей среде. Правила такие: делим пространство на клетки, которые могут быть либо живыми, либо пустыми. А затем на каждом шаге состояние клетки обновляем в зависимости от числа живых соседей. Например, слишком много — клетка умирает, а если нет — рождается. Можно от души экспериментировать с конфигурациями, получаются разные странные вещи, иногда корабли. Корабли (gliders) — отдельная тема, это такие группы клеток, которые изменяются и вместе с тем путешествуют в пространстве. Кроме кораблей могут образовываться и другие группы клеток с хитрыми свойствами, но о них — в Википедии.
+17
Программа-помощник для освоения слепой печати на клавиатуре в Linux
7 мин
33KХочу показать и рассказать о небольшой программке, которая принесла пользу.
Однажды на работе мне написал друг. Диалог у нас состоялся примерно следующий:
— Привет, я тут обучаюсь технике слепой печати. Дело в том, что на линуксе нет программки, которая могла бы мне помочь. В общем, может ты сможешь быстренько написать такую?
Так как помочь другу — святое дело, да и задача выглядела интересной, помочь я согласился.
В итоге получилось вот что:
Кому интересно, подробности ниже
Однажды на работе мне написал друг. Диалог у нас состоялся примерно следующий:
— Привет, я тут обучаюсь технике слепой печати. Дело в том, что на линуксе нет программки, которая могла бы мне помочь. В общем, может ты сможешь быстренько написать такую?
Так как помочь другу — святое дело, да и задача выглядела интересной, помочь я согласился.
В итоге получилось вот что:
Кому интересно, подробности ниже
+44
Пишем графическую программу на Python с tkinter
4 мин
221KВ работе со студентами и учениками я заметила, что при изучении какого-либо языка программирования большой интерес вызывает работа с графикой. Даже те студенты, которые скучали на заданиях про числа Фибоначчи, и уже казалось бы у них пропадал интерес к изучению языка, активизировались на темах, связанных с графикой.
Поэтому предлагаю потренироваться в написании небольшой графической програмки на Python с использованием tkinter (кроссплатформенная библиотека для разработки графического интерфейса на языке Python).
Код в этой статье написан для Python 3.5.
Задание: написание программы для рисования на холсте произвольного размера кругов разных цветов.
Не сложно, возможно программа «детская», но я думаю, для яркой иллюстрации того, что может tkinter самое оно.
Хочу рассказать сначала о том, как указать цвет. Конечно удобным для компьютера способом. Для этого в tkinter есть специальный инструмент, который можно запустить таким образом:
Поэтому предлагаю потренироваться в написании небольшой графической програмки на Python с использованием tkinter (кроссплатформенная библиотека для разработки графического интерфейса на языке Python).
Код в этой статье написан для Python 3.5.
Задание: написание программы для рисования на холсте произвольного размера кругов разных цветов.
Не сложно, возможно программа «детская», но я думаю, для яркой иллюстрации того, что может tkinter самое оно.
Хочу рассказать сначала о том, как указать цвет. Конечно удобным для компьютера способом. Для этого в tkinter есть специальный инструмент, который можно запустить таким образом:
+15
Создание сапера при помощи модуля Tkinter
6 мин
19KДень добрый. Почти каждый начинающий программист стремится к созданию своей первой игры. Спустя пол года ленивого кропотливого обучения я решился написать сапера. Языком написания был выбран Python, модулем для добавления интерфейса tkinter, потому как уже имелся опыт работы с ним. Этот пост будет полезен скорее начинающим кодерам, но если вы итак все знаете, можете написать свои советы по улучшению кода в комменты.
+6
Разбираем и просматриваем квалифицированные сертификаты средствами Python/Tkinter
10 мин
12K Квалифицированные сертификаты быстро стали неотъемлемой частью повседневной жизни. И все больше людей хотят увидеть этого «зверя» изнутри. Это с одной стороны. А с другой стороны разрабатывается все больше приложений, в которых задействуется информация иэ этих сертификатов. И это не только атрибуты ИНН или ОГРН владельца или издателя сертификата. Это может быть и информация о том какой криптопровайдер использован владельцем сертификата (атрибут subjectSignTool) для генерации закрытого ключа или на базе каких сертифицированных средств создан удостоверяющий центр (УЦ), выпустивший тот или иной сертификат. И если написать программку, которая будет анализировать выпускаемые сертификаты, то можно будут собрать интересную статистику по тому какие СКЗИ используют владельцы сертификатов и на базе каких (правда это менее интересно) сертифицированных (или несертифицированных) средств развернуты УЦ (атрибут issuerSignTools):
+9
Как распознавание лиц помогает находить тестовые телефоны
7 мин
8KПривет, хабровчане! В EastBanc Technologies ведётся большое количество проектов, связанных с мобильной разработкой. В связи с чем необходим целый зоопарк устройств для тестирования на всех этапах. И, что характерно, каждый отдельный девайс постоянно оказывается нужен самым разным людям, а найти его даже в одном отделе мобильной разработки из нескольких десятков человек — это целая история. Не говоря уже о том, что есть тестировщики, дизайнеры, PM’ы, в конце концов!
И чтобы не потерять телефон, а четко знать, где он и с кем, мы используем онлайн-базу, которая распознает сотрудников по лицам. Сейчас расскажем, как мы к этому пришли и реализовали её.
И чтобы не потерять телефон, а четко знать, где он и с кем, мы используем онлайн-базу, которая распознает сотрудников по лицам. Сейчас расскажем, как мы к этому пришли и реализовали её.
+23
Подсчёт пчёл нейросетью на Raspberry Pi
7 мин
30KПеревод
Опубликовано 17 мая 2018 года
Сразу после установки улья я подумал: «Интересно, как подсчитать количество прилетающих и улетающих пчёл?»
Небольшое исследование показало: похоже, до сих пор никто не придумал хорошей неинвазивной системы, решающей эту задачу. А ведь было бы наверное полезно иметь такую информацию для проверки здоровья улья.
Во-первых, нужно собрать образцы данных. Raspberry Pi, стандартная камера Pi и солнечная панель: этого простого оборудования достаточно, чтобы записывать один кадр каждые 10 секунд и сохранять 5000+ изображений в день (с 6 утра до 9 вечера).
Сразу после установки улья я подумал: «Интересно, как подсчитать количество прилетающих и улетающих пчёл?»
Небольшое исследование показало: похоже, до сих пор никто не придумал хорошей неинвазивной системы, решающей эту задачу. А ведь было бы наверное полезно иметь такую информацию для проверки здоровья улья.
Во-первых, нужно собрать образцы данных. Raspberry Pi, стандартная камера Pi и солнечная панель: этого простого оборудования достаточно, чтобы записывать один кадр каждые 10 секунд и сохранять 5000+ изображений в день (с 6 утра до 9 вечера).
+68
Есть ли жизнь после Scratch, или как познакомить ребёнка с Python
5 мин
13KУ нас в EPAM работает школа программирования для детей сотрудников — e-kids. В школе волонтёры-сотрудники учат детей работать со Scratch — визуальной средой программирования, созданной специально для обучения детей и подростков. Но всегда рано или поздно наступает момент, когда Scratch уже становится детям не интересен.
Путём проб и ошибок нашим учителям удалось найти способ, как развивать детей дальше, чему учить, чтобы они при этом не потеряли интерес к программированию из-за слишком сложных задач. Так в e-kids стали обучать более сложному языку программирования — Python. В этой статье я собрала полезную информацию от коллег, кто преподает в школе, о том, как детей познакомить c Python.
Путём проб и ошибок нашим учителям удалось найти способ, как развивать детей дальше, чему учить, чтобы они при этом не потеряли интерес к программированию из-за слишком сложных задач. Так в e-kids стали обучать более сложному языку программирования — Python. В этой статье я собрала полезную информацию от коллег, кто преподает в школе, о том, как детей познакомить c Python.
+7
PyRegs: анализатор регулярных выражений Python 3
2 мин
7.5KКогда не стало Kodos
Беда пришла неожиданно. Из Debian Wheezy изъяли старый, добрый PyQt3. А с ним на покой отправился и Kodos — мой любимый дебаггер регулярных выражений Питона. Много лет он помогал тестировать красивые и жуткие конструкци и тот факт, что apt-get install kodos больше не работает, вызвал желание немедленно исправить это досадное недоразумение.
+30
Калькулятор на python
3 мин
579KRecovery Mode
Начало
Здравствуйте, в предыдущей статье я показывал как сделать игру на python, а сейчас мы посмотри как сделать простой калькулятор на python tkinter.
-4
Tcl/Tk. Разработка графического пользовательского интерфейса для утилит командной строки
4 мин
27KТестируя облачный токен на различных платформах, меня не покидала мысль о некой несправедливости: почему утилиты конфигурирования токенов PKCS#11 на платформе MS Windows имеют графический интерфейс, а для других платформ его нет. И в первую очередь это касается базовой утилиты p11conf, которая доступна для свободного использования и является утилитой командной строки, взаимодействие с которой осуществляется через стандартный ввод/вывод.
+17
Python и графический интерфейс для утилит командной строки Network Security Services
5 мин
17KПакет 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.
В настоящее время пакет NSS поддерживает стандарт PKCS#11 v.2.40.
+9