Как сделать напоминалку на python
Статьи
Я собираюсь написать 5 проектов на Python, которые будут разработаны менее чем за 5 минут! Оставайтесь со мной, это будет интересно!
Введение
Вас наверное интересует вопрос, что же мы будем строить в Python? Мы будем писать код, который будет приводить следующие функции в действие:
- Генератор уведомлений.
- Проверка процента заряда батареи.
- Создание скриншотов.
- Генератор Фигле.
- Преобразование текста в речь.
Чтобы вы более конкретно понимали о чем эта статья, сегодня мы будем изучать:
- Как эффективно использовать модули в наших программах на Python?
- Основы Python: Функции.
Генератор уведомлений win10toast
Помимо очевидного, вы можете интегрировать этот фрагмент кода в любое из ваших приложений. Вы также можете сгенерировать уведомление вместе с вашей любимой песней. Или предположим, что вы хотите получить предупреждение всякий раз, когда ваш процент заряда батареи ниже 35 или получать напоминания, этот инструмент точно для вас!
Давайте посмотрим на нашу сборку:
Для этой сборки нам требуется модуль win10toast. win10toast — это простая в использовании библиотека Python для отображения всплывающих уведомлений Windows 10. С официальным документом модуля можно ознакомиться здесь.
Чтобы установить модуль уведомлений для win10, перейдите в терминал и запустите его:
Вот и все. Теперь вы готовы к сборке, начинаем!
Первым шагом является импорт модуля win10toast в нашу среду программирования. Для этого я использую оператор import:
Далее я определяю функцию windows_popup, которая принимает в качестве входных данных три параметра — заголовок, содержание и продолжительность (title, content и duration):
Функции помогают разбить нашу программу на более мелкие и модульные блоки. Кроме того, это позволяет избежать повторения и делает код многоразовым.
В нашей функции я программирую два оператора:
Я создаю экземпляр класса ToastNotifier и храню его внутри переменной toast. Представьте себе экземпляр как пульт дистанционного управления вашей программой. Теперь вы можете использовать любые кнопки на пульте дистанционного управления для выполнения необходимой задачи.
Я вызываю функцию show_toast и передаю входные параметры.
- title (название): название уведомления. Выделяется жирным шрифтом. Пример: Напоминание.
- content (содержание): содержание уведомления. Пример: Закройте рабочий стол и идите гулять!
- duration (продолжительность): продолжительность в секундах, которую вы хотите, чтобы уведомление отображалось на экране.
Наконец, я вызываю функцию так:
Окончательный исходный код генератора уведомлений приведен ниже:
Проверка заряда аккумулятора Python
В этой сборке я программирую процент заряда батареи нашего электронного устройства.
Для этой сборки я использую модуль psutil. psutil — это кросс-платформенная библиотека для мониторинга процессов и систем на Python. Официальную документацию модуля psutil можно найти здесь.
Чтобы установить psutil в нашу систему, введите следующий код:
Начинаем! Как всегда, импортируйте модуль psutil в нашу среду:
Получите пульт дистанционного управления, создав экземпляр класса sensors_battery() в модуле psutil:
Получите информацию о процентном содержании батареи в переменном проценте следующим образом:
Чтобы отобразить процент заряда батареи на экране, введите:
Окончательный исходный код для проверки процента заряда батареи:
Чтобы проверить свои навыки программирвоания, попробуйте создать уведомление, когда процент заряда батареи падает ниже 35%!
Скриншоты с помощью PyAutoGUI
Для этой сборки нам потребуется Pyautogui и модуль времени.
PyAutoGUI — это модуль Python, который позволяет вам управлять мышью и клавиатурой с помощью программы. PyAutoGUI также позволяет автоматизировать ваши повседневные задачи и может играть в игры, входить в электронную почту и многое другое. Вы можете получить доступ к официальной документации модуля Pyautogui здесь.
Чтобы установить PyAutoGUI в вашей системе, откройте терминал и запустите его:
Модуль времени предоставляет различные функции, связанные с временем. Я использую его для получения системного времени и отображения его на экране. Вы можете получить доступ к официальной документации здесь.
Импортируем необходимые модули в нашу среду Python:
Я использую метод time.sleep для переключения приложения из нашей среды Python на экран, с которого я хочу сделать снимок экрана:
Чтобы сделать снимок экрана, я использую метод pyautogui screenshot и храню его внутри переменной img:
Чтобы сохранить изображение, я использую метод save:
Примечание: Эта команда сохранит изображение в том же каталоге, что и расположение файла Python, из которого вы работаете.
Окончательный исходный код для скриншота выглядит следующим образом:
Генератор Фиглет с помощью pyfiglet
Генератор Фиглет преобразует обычный текст в креативный рисунок буквенного дизайна (ASCII Art Font), как показано ниже:
Для этой сборки нам потребуется модуль PyFiglet. Вы можете получить доступ к официальной документации модуля Pyfiglet отсюда. Модуль PyFiglet можно установить с помощью:
Первый шаг — это импорт модуля Pyfiglet:
Чтобы преобразовать ваше слово в формат ASCII Block Art, используйте функцию figlet_format. Я сохраняю результат в переменной, называемой result. Для наклонного шрифта я устанавливаю шрифт на наклонный. Для обычного блока просто опустите этот параметр и введите только текст в двойных кавычках. Пишем:
Проявите свой творческий потенциал с помощью инструкции print:
Окончательный исходный код для генератора Фиглет:
Преобразование текста в речь библиотекой pyttsx3
Последняя, но не худшая и моя самая любимая сборка среди всех — генератор текста в речь.
Для этой удивительной сборки нам нужен модуль pyttsx3. pyttsx3 — это библиотека преобразования текста в речь на языке Python. В отличие от альтернативных библиотек, она работает в автономном режиме и совместима как с Python2, так и с Python3. Вы можете ознакомиться с официальной документацией здесь.
Чтобы установить pyttsx3 в нашу систему, перейдите в терминал и введите:
Я импортирую модуль pyttsx3 в нашу среду с помощью:
Чтобы получить пульт дистанционного управления, я инициализирую pyttsx3 следующим образом:
Наконец, я использую runAndWait для выполнения команды:
Окончательный исходный код для преобразования текста в речь:
Заключение
Вот так, ребята! Мы успешно изучили 5 коротких, но интересных сборок, которые могут быть реализованы менее чем за 5 минут. Эти сборки — очень хороший шаг для любого новичка в Python.
Офисные сотрудники привыкли к тому, что на них одновременно весит несколько задач. Не успел сделать одно, или даже начать делать, как просят о чем-то другом. Запомнить все и нечего не упустить довольно тяжело.
Эту ситуацию можно значительно упростить благодаря простой напоминалке. Работать она должна так:
Для Windows есть масса готовых решений, к примеру XMinder. Но, нет аналога такой программы для Linux. Есть конечно подобные программы, но работают они не так, и не настолько просты.
Поэтому было решено самостоятельно написать такую программку. Для реализации такой задачи были выбраны Python, Bash, Zenity и At.
Выбор пал на Pyrhon, потому что по нему существует очень много хорошей документации, и он стандартно уже есть в дистрибутивах. Да и решить такую задачу сможет даже новичок.
А At выбран потому, что именно на него возлагается решение задачи. И он сохраняет данные даже в случае перезагрузки компьютера.
Соответственно, был выбран комплекс из нескольких программ, а к ним добавлен необходимый синтаксис.
MooseAche
Пример веб-браузера, разработанного с помощью Python и Qt. Модуль QtWebEngineWidgets, представленный в Qt 5.6, даёт возможность просматривать веб-страницы в одном окне и использовать привычные элементы управления.
Mozzarella Ashbadger
Mozarella Ashbadger — революция среди браузеров! Возвращайтесь на вкладку назад и вперёд! Печатайте страницы! Сохраняйте файлы! Воспользуйтесь справкой! Любые совпадения с другими браузерами совершенно случайны.
Moonsweeper
Исследуйте таинственную поверхность луны Q’tee, но остерегайтесь пришельцев-аборигенов.
No2Pads
Простой клон Блокнота, написанный с помощью QTextEdit для поддержки более-менее всего необходимого функционала. Приложение умеет открывать, сохранять и печатать текстовые файлы.
Calculon
Простой калькулятор, интерфейс разработан в Qt Designer, а операции реализованы с помощью стека.
Megasolid Idiom
Текстовый редактор для ваших скучных документов без форматирования. Дополнение к блокноту, опять с использованием QTextEdit, но уже с богатыми возможностями редактирования текста.
NSAViewer
Приложение, которое позволяет делать снимки с помощью веб-камеры. Для взаимодействия с веб-камерой используется модуль QtMultimedia. Кроме того, имеется поддержка нескольких камер.
Failamp
Простое приложение для прослушивания аудио и просмотра видео-файлов с поддержкой плейлиста. Для работы с воспроизведением и плейлистом используются QtMultimedia и QtMultimediaWidgets.
Brown Note (QtDesigner)
Это приложение позволяет создавать временные записки на рабочем столе. Записки хранятся в базе данных SQLiteTake.
Piecasso (QtDesigner)
Проявите свою творческую натуру с PieCasso — единственным приложением для рисования со встроенными рисунками пирога.
Piecasso — клон Paint из Windows 95 с несколькими новыми функциями и вырезанными старыми. В программе доступны стандартные инструменты вроде кисти, карандаша, заливки, распылителя и множество фигур.
7Pez (QtDesigner)
Распаковывайте архивы с помощью кота. Перетащите архив на кота и нажмите на его голову, чтобы распаковать архив в той же папке.
Translataarrr (QtDesigner)
Raindar (QtDesigner)
Приложение, показывающее прогноз погоды в выбранном городе. Данные для прогноза берутся через API для OpenWeatherMap.
Doughnut (PyQtGraph)
Это приложение с помощью API для Fixer позволяет отслеживать курсы валют. По умолчанию отображаются курсы за последние полгода.
Ronery (QGraphicsScene)
В этой статье мы реализуем простой, но крайне полезный проект на Python — бота для Telegram. Боты — это небольшие скрипты, которые могут взаимодействовать с API, чтобы получать сообщения от пользователя и отправлять информацию в разные чаты и каналы.
Python для новичков
- / newbot — создать нового бота;
- / mybots — редактировать ваших ботов;
- / setname — сменить имя бота;
- / setdescription — изменить описание бота;
- / setabouttext — изменить информацию о боте;
- / setuserpic — изменить фото аватарки бота;
- / setcommands — изменить список команд бота;
- / deletebot — удалить бота.
Отправим бате‑боту команду / newbot , чтобы создать нового бота. В ответ он попросит ввести имя будущего бота, его можно писать на русском. После ввода имени нужно будет отправить адрес бота, причем он должен заканчиваться на слово bot. Например, xakepbot или xakep_bot . Если адрес будет уже кем‑то занят, BotFather начнет извиняться и просить придумать что‑нибудь другое.
Для взаимодействия с Telegram API есть несколько готовых модулей. Самый простой из них — Telebot. Чтобы установить его, набери
В Linux, возможно, понадобится написать pip3 вместо pip , чтобы указать, что мы хотим работать с третьей версией Python.
Эхо-бот
Для начала реализуем так называемого эхо‑бота. Он будет получать от пользователя текстовое сообщение и возвращать его.
Читайте также: