Что написать на python для практики
22 полезных примера кода на Python
Python — один из самых популярных языков программирования, чрезвычайно полезный и в решении повседневных задач. В этой статье я вкратце расскажу о 22 полезных примерах кода, позволяющих воспользоваться мощью Python.
Некоторые из примеров вы могли уже видеть ранее, а другие будут новыми и интересными для вас. Все эти примеры легко запоминаются.
1. Получаем гласные
2. Первая буква в верхнем регистре
Этот пример используется для превращения каждой первой буквы символов строки в прописную букву. Он работает со строкой из одного или нескольких символов и будет полезен при анализе текста или записи данных в файл и т.п.
3. Печать строки N раз
Этот пример может печатать любую строку n раз без использования циклов Python.
4. Объединяем два словаря
Этот пример выполняет слияние двух словарей в один.
5. Вычисляем время выполнения
Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции.
6. Обмен значений между переменными
Это быстрый способ обменять местами две переменные без использования третьей.
7. Проверка дубликатов
Это самый быстрый способ проверки наличия повторяющихся значений в списке.
8. Фильтрация значений False
9. Размер в байтах
Этот пример возвращает длину строки в байтах, что удобно, когда вам нужно знать размер строковой переменной.
10. Занятая память
Пример позволяет получить объём памяти, используемой любой переменной в Python.
11. Анаграммы
Этот код полезен для проверки того, является ли строка анаграммой. Анаграмма — это слово, полученное перестановкой букв другого слова.
12. Сортировка списка
Этот пример сортирует список. Сортировка — это часто используемая задача, которую можно реализовать множеством строк кода с циклом, но можно ускорить свою работу при помощи встроенного метода сортировки.
13. Сортировка словаря
14. Получение последнего элемента списка
15. Преобразование разделённого запятыми списка в строку
Этот код преобразует разделённый запятыми список в единую строку. Его удобно использовать, когда нужно объединить весь список со строкой.
16. Проверка палиндромов
Этот пример показывает, как быстро проверить наличие палиндромов.
17. Перемешивание списка
18. Преобразование строки в нижний и верхний регистры
19. Форматирование строки
Этот код позволяет форматировать строку. Под форматированием в Python подразумевается присоединение к строке данных из переменных.
20. Поиск подстроки
Этот пример будет полезен для поиска подстроки в строке. Я реализую его двумя способами, позволяющими не писать много кода.
21. Печать в одной строке
Мы знаем, что функция print выполняет вывод в каждой строке, и если использовать две функции print, они выполнят печать в две строки. Этот пример покажет, как выполнять вывод в той же строке без перехода на новую.
22. Разбиение на фрагменты
Этот пример покажет, как разбить список на фрагменты и разделить его на меньшие части.
На правах рекламы
Серверы для разработчиков — выбор среди обширного списка предустановленных операционных систем, возможность использовать собственный ISO для установки ОС, огромный выбор тарифных планов и возможность создать собственную конфигурацию в пару кликов, активация любого сервера в течение минуты. Обязательно попробуйте!
5 проектов, которые можно сделать на Python
Вы начали учить Python и планируете написать первый проект? Подобрали для вас мануалы, которые помогут новичку.
Задаваться вопросом, что пишут на Python, кажется даже не вполне корректным: на нем можно создать практически все. Благодаря многочисленным библиотекам, фреймворкам, собственному компилятору и поддержке крупных корпораций вроде Google сегодня Python стал языком общего назначения. Гибкий, простой и быстрый, он собрал сотни тысяч фанатов по всему миру.
Python отлично показывает себя в следующих областях:
Мы приводим примеры пяти мануалов, с помощью которых вы можете реализовать несложные проекты, начав изучать Python на практике.
1. Автоматизация рутинных задач
В этом пособии для новичков даны пошаговые инструкции по тому, как упростить и автоматизировать множество скучных задач в электронных таблицах, поисковых системах, при загрузке онлайн-контента, заполнения форм и многих других. Вы будете работать со скриптами, файлами, объектами и классами, проводить скрейпинг сайтов — в общем, на практике применять теоретические знания.
2. Создание калькулятора
С помощью Python и этого руководства вы можете сделать простое приложение для пользователей — калькулятор. Это дверь в GUI-программирование — создание интуитивно понятных графических интерфейсов. В процессе вы поработаете с модулем tkinter, который уже предустановлен в последних версиях Python.
3. Создание блога
Это открытие фреймворка Flask. На Python написаны такие сервисы, как Instagram и YouTube, поэтому он отлично подходит для создания собственного микроблога в экспериментальных, а возможно, и коммерческих целях. В мегаруководстве Мигеля Гринберга детально разбирается Flask, а после его изучения вы сможете написать свое первое веб-приложение.
4. Майнинг данных из Twitter
Для работы с анализом данных подойдет, разумеется, не только Twitter — любая открытая площадка в интернете, — но мы приведем этот пример. При помощи модулей вы сможете отсортировать и структурировать нужную информацию. Используя Tweepy — отфильтровать посты юзеров по определенным параметрам. А с помощью GraphQL можно будет привести результат работы в вид графического интерфейса.
5. Создание блокчейна
Технологии криптошифрования используют не только как финансовый инструмент — найти им применение можно во множестве областей. Если вам интересен блокчейн, попробуйте создать собственный. Для этого вам понадобится работать с библиотекой requests и HTTP-клиентами и вооружиться вот этим руководством.
Заключение
Мы привели несколько примеров того, что можно сделать на Python в качестве обучающих задач. Если вам интересно более детальное погружение в этот язык, рекомендуем курс «Python-разработчик с нуля». За короткий срок плотного обучения вы овладеете навыками разработчика как минимум младшего уровня.
Автор в сфере IT, digital, экономики и финансов. Ведет некоммерческий проект для начинающих писателей «ЛитЦех».
Идеи для проектов на Python актуальные в 2020 году
На сегодняшний день Python является самым широко используемым языком программирования на планете. Получение знаний о нем станет вашей лучшей инвестицией в 2020 году. Но, если вы хотите помимо знаний получить соответствующий опыт работы, то крайне важно поработать над конкретными проектами, потому что теоретические знания бесполезны до тех пор, пока вы не примените их в реальной жизни.
В этой статье мы покажем вам некоторые идеи для проектов на Python начиная от начального и заканчивая продвинутым уровнем. Воплощение в жизнь этих идей поможет вам легче изучить Python, благодаря применению своих знаний на практике.
Обучение на основе реальных проектов — самая важная составляющая для улучшения ваших знаний. Здесь можно найти 270 учебных пособий по Python и идеи проектов для программистов любого уровня. Таким образом, вне зависимости от ваших знаний, вы также можете повысить свои навыки программирования.
Согласно Stackoverflow, Python является наиболее предпочитаемым языком программирования, что означает, что большинство разработчиков используют его в своей работе.
Часто ли вам не хватает действительно крутых идей для работы над проектом? Если так, то больше этого не повторится, потому что мы позаботились о вас и составили список из 25 идей для проектов. Быстро добавляйте статью в закладки и посвятите все свое время реализации этих проектов и превращению себя в востребованного специалиста.
Идеи для простых проектов на Python
1. Угадайте число
Идея проекта. Создайте программу, которая случайным образом выбирает загаданное число. У пользователя будет несколько шансов, причем при каждой неправильной попытке он будет получать подсказку от компьютера, сообщающую о том, в какую сторону (большую или меньшую) он ошибся.
2. Симулятор игры в кости в Python
Идея проекта. Симулятор игры в кости будет имитировать бросание костей в реальной жизни. С помощью него пользователь сможет снова и снова «выбрасывать» случайным образом генерируемое число, до тех пор пока не захочет выйти из программы.
3. Сегментация адреса электронная почты
Идея проекта. Сегментация адреса электронной почты — это полезная программа для получения имени пользователя и имени домена из e-mail. Вы можете настроить и отправить сообщение пользователю с этой информацией.
4. Алгоритм бинарного поиска
Идея проекта. Алгоритм бинарного поиска — очень эффективный способ поиска элемента в длинном списке. Идея состоит в том, чтобы реализовать алгоритм, который ищет элемент в списке методом деления списка пополам и сравнения значения середины с искомым значением.
5. Настольное приложение для уведомлений
Идея проекта. Настольное приложение для уведомлений, работает в фоновом режиме и служит для отправки сообщений через заданные промежутки времени. Для его создания вы можете использовать такие библиотеки как notify2, requests и другие.
6. Генератор историй Python
Идея проекта. Проект будет случайным образом создавать истории, используя некоторое количество предварительных настроек. Вы можете попросить пользователей задать списки состоящие из слов, обозначающих имена героев, их действия, роли и т.п., после чего программа создаст некое подобие рассказа, расставляя случайно выбранные из списков слова внутри заранее подготовленного текста. В Python версии 3.6 появились f-строки (f-strings), которые сделали работу с генератором еще более удобной.
7. Загрузчик видео с Youtube
Идея проекта. Еще один интересный проект заключается в создании удобного интерфейса, с помощью которого вы можете загружать видео с YouTube в различных форматах и качестве.
8. Блокировщик сайтов на Python
Идея проекта. Создайте приложение, которое можно использовать для блокирования определенных веб-сайтов. Это очень полезная программа для студентов, которые хотят сосредоточиться на учебе, при этом не отвлекаясь на всякие раздражители вроде социальных сетей.
Если у вас к этому моменту сформировалось какое-то мнение относительно содержания нашей статьи, пожалуйста поделитесь им в разделе комментариев, а мы тем временем продолжим.
Идеи для проектов на Python средней сложности.
1. Калькулятор в Python
Идея проекта. Создание графического интерфейса калькулятора с использованием библиотеки, Tkinter, или аналогичной (wxPython, PyQT и т.д.), в которой мы создадим кнопки для выполнения различных операций и выведем отображения результатов на экране. Дополнительно вы можете добавить в калькулятор функции для выполнения научных расчетов.
2. Таймер обратного отсчета
Идея проекта. Вы можете создать настольное приложение с таймером обратного отсчета, в котором можно будет установить таймер, и по истечении времени получать уведомление. Это служебное приложение для повседневных задач.
3. Генератор случайных паролей в Python
Идея проекта. Создание надежного пароля — утомительная задача. Мы можем создать приложение для случайной генерации надежных паролей, которые будут содержать буквы, символы и цифры. Пользователь также сможет копировать пароль, чтобы потом напрямую вставить его при создании учетных данных.
4. Случайная статья в Википедии
Идея проекта. Идея этого проекта заключается в том, чтобы продемонстрировать пользователю заголовок случайной статьи из Википедии, а затем спросить, хочет ли он прочитать статью или нет. Если ответ «да», то на экран выводится полный текст статьи, в противном случае показывается название другой случайной статьи.
5. Reddit бот
Идея проекта. Reddit — отличная платформа, и мы можем запрограммировать бота для мониторинга сабреддитов (страниц на Reddit посвященных различным темам). Автоматизация мониторинга поможет предоставить полезную информации для читателей при этом сэкономив много нашего времени.
6. Приложение командной строки Python
Идея проекта. Python отлично подходит для создания приложений командной строки. Вы можете создать красивый интерфейс командной строки (CLI — command-line interface), с помощью которого вы, сможете отправлять электронную почту другим людям. Программа с помощью командной строки запросит у пользователя учетные данные, e-mail адресата и текст сообщения, который ему необходимо отправить, а затем отправит это сообщение на указанный адрес.
7. Instagram бот
Идея проекта. Instagram бот предназначен для автоматизации некоторых основных задач, таких как лайки, комментарии и подписка на учетные записи других людей. Частота должна быть невысокой, потому что отправка чрезмерных запросов на серверы Instagram может привести к деактивации.
8. Стеганография в Python
Идея проекта. Стеганография — это искусство скрывать сообщение в другой форме, так чтобы никто не мог заподозрить существование скрытого сообщения. Например, сообщение может быть скрыто внутри изображения или видео. Если перед вами стоят подобные цели, то этот проект может оказаться полезен.
Продвинутые идеи для проектов на Python
1. Тест скорости набора текста
Идея проекта. Тест скорости набора текста — это проект, с помощью которого вы можете определить скорость набора текста пользователем на клавиатуре. Вы должны создать графический интерфейс с помощью GUI библиотеки, такой как Tkinter, посредством которого пользователь будет вводить случайное предложение, и после завершения набора, видеть скорость набора, точность и количество набранных слов в минуту.
Здесь можно посмотреть пример исходного кода проекта Python по тестированию скорости набора текста
2. Агрегатор контента
Идея проекта. В Интернете много информации и статей. Найти хороший относящийся к делу контент сложно, поэтому агрегатор контента автоматически выполняет поиск на популярных веб-сайтах, ищет соответствующие материалы и создает список для просмотра. Впоследствии пользователь может выбрать из этого списка, что именно он хочет посмотреть.
3. Массовое переименование файлов / приложение для изменения размера изображения.
Идея проекта. Одной из задач машинного обучения является предварительная обработка данных. Нам в данном проекте будет необходимо выполнить изменение размера и переименование большого количества изображений, поэтому приложение, которое сможет автоматически выполнять эти задачи, будет очень полезно как в плане своей функциональности так и для изучения основ Data Science.
4. Менеджер файлов на Python
Идея проекта. Создайте приложение для просмотра и управления файлами, с помощью которого вы сможете смотреть файлы в вашей системе, управлять ими, искать и копировать их в различные места. Этот проект будет использовать несколько областей знаний языка программирования Python.
5. Проверка плагиата в Python
Идея проекта. Идея этого проекта заключается в создании приложения с графическим интерфейсом, которое можно использовать для проверки на плагиат. Чтобы создать этот проект, вам нужно использовать библиотеку обработки естественного языка вместе с поисковым API Google, который подберет для вас лучшие статьи.
6. Веб-сканер в Python
Идея проекта. Веб-сканер — это скрипт, который автоматически просматривает страницы в интернете и может сохранять их содержимое. Этот процесс называется веб-сканированием. Такие поисковые системы, как Google, используют эту технику для поиска актуальной информации. Обязательно используйте концепцию многопоточности при выполнении этого проекта.
7. Музыкальный проигрыватель в Python
Идея проекта. Каждый любит слушать хорошую музыку. Вы сможете получить удовольствие при выполнении проекта, создав свой собственный музыкальный проигрыватель. Музыкальный проигрыватель должен уметь искать файлы в каталогах, и обладать интерактивным интерфейсом. Выполнение этих условий является непростой задачей, которая лучше всего подходит для опытных программистов.
8. Расширение сравнения цен.
Идея проекта. Это потрясающий проект, в котором вы можете сравнивать цены в нескольких веб-источниках. Как на сайте Trivago, например, мы можем сравнивать цены на отели, или как на сайтах Amazon, Snapdeal, Flipkartа и других мы можем сравнивать цены на товары, отображая при этом лучшие предложения.
9. Загрузчик картинок с Instagram
Идея проекта. Проект загрузчик картинок с Instagram используется для скачивания изображений ваших друзей, размещенных в Instagram. Он будет использовать ваши учетные данные, чтобы отыскать всех ваших друзей, а затем загрузить их фотографии.
Резюме
В сегодняшней статье мы обсудили 25 идей для проектов на Python, охватывающих все три уровня сложности программирования. Сначала мы обсудили базовые идеи проекта для начинающих, в том числе угадывание чисел, симулятор броска костей и другие. Затем мы обсудили еще несколько увлекательных идей проекта для программистов уже знакомых с азами, включая генератор случайных паролей, бот Instagram и другие. В конце мы рассмотрели некоторые продвинутые проекты для экспертов, такие как агрегатор контента, тесты скорости набора текста и другие.
Надеюсь, вам понравилась наша статья об идеях для проектов на Python. Если у вас сформировалось какое-то мнение после прочтения статьи, пожалуйста, поделитесь им в разделе комментариев.
13 проектов для Python-программистов уровня intermediate
Изучение основ Python — прекрасный опыт. Но эйфория от изучения языка постепенно заменяется желанием создать что-то своими руками. И это нормально, но нужны идеи.
Проблема здесь в том, что некоторые проекты либо слишком просты, либо слишком сложны для разработчика среднего уровня. Эта статья — помощь программисту уровня intermediate. Она предоставляет несколько идей проектов, которые могут стать интересным вызовом для вас. Материал адаптирован на русский язык совместно с Алексеем Некрасовым, лидером направления Python в МТС, программным директором направления Python в Skillbox.
Прочитав статью, вы сможете узнать:
Выбор платформы
Сперва необходимо определиться с выбором одной из трех основных платформ — веб, десктоп или командная строка. Хотя, конечно, никто не отрицает возможности работать сразу со всеми тремя.
На Хабре нет смысла объяснять, что такое веб-приложения. Понятно, что оно доступно всегда с любого устройства и состоит из двух основных компонентов — фронтенда и бэкенда. Поскольку в статье речь идет о разработке на Python, то основное внимание уделяется бэкенду. Но фронтенд тоже нужен, поэтому используем знания HTML, CSS и немного JavaScript. Для простого фронтенда этого вполне достаточно.
Еще один вариант — создание и фронтенд- и бэкенд-компонентов на Python с использованием библиотеки anvil. Что касается фреймворков для работы, то можно порекомендовать Django и Flask в качестве одних из самых популярных.
В рамках профессии “Python-разработчик” мы обучаем не только делать веб-приложения, разбираться во фреймворках и библиотеках, но и системному подходу в их создании.
Для создания десктопных приложений на Python существуют специальные библиотеки. Одна из них PySimpleGUI, она хорошо подходит для разработчика среднего уровня. PyQt5 имеет больше возможностей, но потребует и больше времени для изучения.
ПО, которое вы разработаете, будет работать на всех ОС, включая Windows, Linux или Mac. Главное — скомпилировать проект в исполняемый файл для требуемой ОС.
Такие приложения работают в консоли при помощи ввода специальных команд. Эти приложения не имеют GUI, но в большинстве случаев они не менее мощные, чем приложения с графическим интерфейсом. Если хотите улучшить внешний вид консольного приложения, вот пара библиотек: Colorama и Colored. Фреймворки Docopt, Argarse и Click значительно упрощают процесс создания приложений.
Идеи для веб-приложений
Контент нужен всем и всегда. Для того чтобы быть в курсе интересующей темы, нужно мониторить большое количество ресурсов. Один из лучших способов сделать это — создание агрегатора контента, который парсит разные сайты и собирает данные в одном месте.
Примеры хороших контент-агрегаторов:
Во-первых, нужно знать, с каких сайтов вы собираетесь парсить контент. Во-вторых, потребуются библиотеки, включая Requests для отправки HTTP-запросов, а также BeautifulSoup для парсинга и сбора нужной информации.
Неплохо бы еще реализовать агрегацию контента в качестве фонового процесса, с чем могут помочь такие библиотеки, как APScheduler.
После того как мы спарсили контент, его придется где-то хранить, соответственно, нужно использовать базу данных. Можно использовать PostgreSQL для хранения метаданных, Elasticsearch для быстрого полнотекстового поиска по контенту (если это текстовый контент).
А если хотите сделать приятное пользователям, то можно добавить подписку, — и в конце дня все подписчики получат нужную информацию по электронной почте. С этой задачей вам помогут python модули smtplib и email.
В некоторых случаях нужен поиск данных в текстовом документе. Если задача нестандартная, то обычный инструмент поиска не подходит. Поэтому можно создать инструмент, основанный на регулярных выражениях — это и будет Regex Query Tool.
Регулярные выражения дают возможность задавать более общие условия, включая поиск любых дат, записанных в определенном виде. Когда регулярное выражение сопоставляет шаблоны с текстом, оно подсвечивает совпавшие части, сообщая о них пользователю. Соответственно, приложение ищет заданные строки, что гораздо быстрее, чем в текстовых редакторах.
Примеры такого инструмента:
Нужно добиться от приложения получения положительного или отрицательного ответа в ходе поиска. Это может быть «строка найдена» и «строка не найдена», выделенная определенными цветами.
Писать алгоритм с нуля не нужно, для этого можно использовать re- — стандартную библиотеку Python, которая будет возвращать найденные строки или None, если ничего не найдено.
Чтобы сделать приятно пользователю, можно добавить функцию, которая будет предлагать альтернативные варианты запросов, которые по смыслу похожи на изначальный. Возможно, пользователь просто ошибся в формулировке запроса.
Собственно, здесь все понятно уже по названию проекта. Его предназначение — превращать длинные и неудобные ссылки в короткие и красивые, уменьшая количество символов в URL-адресе.
В поле ввода приложения пользователи будут вводить исходный адрес, получая новый. Для создания сокращенного адреса можно использовать стандартные python модули random и string.
Для того, чтобы ссылки не «умирали» с течением времени, их нужно хранить в базе данных. При поступлении запроса приложение будет проверять, существует ли URL-адрес и перенаправлять на оригинал. Если адреса нет, то будет показываться страница 404.
Чтобы сделать приятное пользователю, стоит использовать настройку генерации URL-адреса, чтобы получалось нечто вроде xyz.com/mysiteURL вместо xyz.com/piojwrURL. Также можно добавить счётчик переходов по ссылке и возможность установки времени жизни ссылки.
Каждый день мы получаем огромное количество информации. Чтобы не забыть необходимое, стоит использовать стикеры и заметки. Проект Post-It Note посвящен созданию небольших напоминалок, которые пользователь может открыть при помощи любого браузера.
Главная задача проекта — предоставление пользователю пространства для наклеивания заметки. У каждого пользователя они свои, поэтому нужны учетные записи. К чужим заметкам доступа быть не должно.
Благодаря Django можно использовать систему аутентификации, не создавая ее с нуля. Кроме того, можно добавить еще и классификацию заметок, что увеличит полезность приложения для пользователей.
Еще одна важная задача — хранение данных каждого пользователя, что не получится реализовать без базы данных. Если вы выберете MySQL, то потребуется модуль MySQLdb или psycopg2-модуль для базы данных PostgreSQL. Если вдруг понадобится иная база данных, можно воспользоваться другими модулями.
Сделать приятно пользователю можно при помощи функции добавления времени для уведомлений.
Задача проекта — помочь пользователю проверить свои знания. Ну а приложение, о котором говорится ниже, позволяет создавать тесты и викторины. В приложении есть администраторы, которые создают тесты, и пользователи, отвечающие на вопросы.
После того, как пользователь прошел тест, приложение показывает итоговую оценку и правильные ответы. Если есть желание, можно ввести систему учетных записей, что позволит хранить результаты разных пользователей.
А значит, нужна и база данных, в которой вся эта информация будет храниться.
Чтобы сделать приятно пользователю, можно предусмотреть возможность добавлять таймеры в тесты, что сделает прохождение еще более интересным. В качестве последнего штриха стоит предоставить возможность делиться тестами и результатами для пользователей.
Десктопные приложения
Наверное, многие читатели помнят Winamp. А теперь можно создать собственный плеер, который будет ничуть не хуже Winamp.
Вот еще парочка примеров:
Для того, чтобы сделать приложение привлекательным для пользователей, ему нужен симпатичный и удобный интерфейс. Плеер должен отображать данные воспроизводимого файла, включая его название, продолжительность трека и время проигранной части файла в минутах и секундах.
В Python есть библиотеки, которые позволяют работать с мультимедийными файлами. Они также могут обрабатывать не только MP3, но и другие файлы. Эти библиотеки — pygame, pymedia и simpleaudio.
Для того, чтобы сделать приятно пользователю, стоит добавить плейлисты. Для хранения информации понадобится база данных. Модуль sqlite3 отлично подходит для базы данных SQLite. Ее основа — файлы, и в настройке она проще, чем многие другие SQL базы данных.
А еще можно добавить функцию повторения трека и возможность перемешивания треков в плейлистах.
Почему бы и не создать будильник? Свой, собственный, почти ламповый.
Вот примеры проектов:
Главная задача такого приложения — запустить определенный звуковой сигнал или проиграть трек в определенное время. Таким образом, основные компоненты приложения — информация о времени и звуковой сигнал воспроизведения. Приложение должно чекать установленное время и активировать сигнал, когда наступает срок. Для воспроизведения звука можно использовать библиотеку pygame.
У пользователей должна быть возможность редактировать, и удалять напоминания. А приложение должно отображать их все, как активные, так и нет. Для хранения информации потребуется база данных.
Чтобы сделать приятно пользователю, можно разрешить устанавливать повторяющиеся напоминания, например, время пробуждения для рабочих дней и для выходных. А еще можно добавить возможность откладывания сигнала.
О том, что это такое, знает любой пользователь ПК. Что насчет создания собственного менеджера? С его помощью пользователи получают доступ к управлению файлами и каталогами. Также при помощи файлового менеджера пользователи могут копировать, перемещать и переименовывать файлы и каталоги.
Вот примеры файловых менеджеров:
Главная задача файлового менеджера — предоставить интерфейс для управления файлами. Он должен быть простым и удобным в использовании. Для этого можно воспользоваться PySimpleGUI. Кроме того, библиотеки sys, os и shutil будут весьма полезны для этого проекта. В них присутствуют функции для выполнения действий с файлами в фоновом режиме — то есть, когда пользователь занят другими делами. В приложении файлового менеджера можно установить отображение файлов в виде сетки или списка.
Чтобы сделать приятно пользователю, стоит добавить функцию поиска — пользователи смогут экономить время, а не тратить его на ручной поиск файлов и каталогов. Плюс ко всему, полезной может оказаться функция сортировки файлов — по времени создания, названию или размеру.
Если не учитывать расходы, деньги улетают очень быстро. Трекер дает возможность следить за своими расходами, а также отслеживать их динамику. При помощи такой программы пользователи могут устанавливать свой бюджет и отслеживать расходы для того, чтобы принимать взвешенные финансовые решения.
Для предоставления данных о расходах нужно провести определенный статистический анализ. У приложения, кроме чисто аналитических функций, должен быть хороший интерфейс. С этим поможет PySimpleGUI. Ну а библиотеки PyData, включая Pandas и Matplotlib, помогут с техническими аспектами. В первом случае помощь оказывается с анализом данных, во втором — с построением графиков.
Информацию пользователей можно хранить при помощи SQLite и Python-модуль Sqlite3.
Чтобы сделать приятное пользователю, желательно добавить функцию напоминания внесения расходов. В противном случае человек забывает об этом, а восстановить список трат по памяти — очень сложно.
Приложения для командной строки
Контактов у практически любого современного человека очень много. Для того, чтобы их не терять, помогает адресная книга. Обычно в ней хранится имя, адрес, номер телефона и адрес электронной почты. Можно также создать и софт, который люди будут использовать для хранения и поиска контактных данных. Он всегда будет доступен в командной строке.
Подобных приложений много, но большинство из них имеют графический интерфейс.
Поскольку приложение — консольное, важно настроить команды, которые пользователи будут использовать для ввода контактных данных. Для этого стоит задействовать фреймворки Argparse или Click. С их помощью можно абстрагировать сложные вещи, так что для разработчика достаточно сосредоточиться на коде, который выполняется при вводе команд.
И вот как раз над командами стоит поразмыслить — ведь нужны команды для удаления контактов, обновления книги, вывода всех сохраненных контактов. Требуется еще и изменять контакты в случае необходимости, а также сортировать их.
Для хранения информации, как и в предыдущих случаях, подходит база данных SQLite.
Чтобы сделать приятно пользователю, стоит предусмотреть создание резервной копии базы данных, желательно — в облаке. Также стоит предусмотреть идентификацию пользователей, чтобы доступ к контактам не могли получить посторонние.
Проверка доступности сайта
В некоторых случаях сайты, которые нам нужны или принадлежат, могут быть недоступны. Для проверки доступности существуют приложения, которые пингуют ресурсы и рапортуют о недоступности.
Для подключения к ресурсу нужно определить протокол — TCP или ICMP. Для проверки требуется модуль Socket. Благодаря фреймворку, будь то Docopt, Click или Argparse, можно добавлять команды, чтобы пользователь мог взаимодействовать с приложением. У него должна быть возможность запускать приложение, останавливать его и определять интервалы проверки.
Что использовать для хранения данных? Это мы уже знаем — SQLite.
Чтобы сделать приятно пользователю, можно добавить функцию уведомления, например, звуковой сигнал. Уведомление предупредит пользователя об изменении статуса сайта.
Bulk File Rename Tool
В некоторых случаях пользователю нужно дать имена всем файлам в каталоге в соответствии с определенным шаблоном. Например, имена File0001.jpg, File0002.jpg. Ладно, если файлов 3-4, тогда можно сделать все вручную. Но если их тысячи? Тогда приходит на помощь Bulk File Rename Tool.
У приложения должна быть возможность управления файлами, для чего понадобятся библиотеки os, sys и shutil. Пользователи смогут задавать шаблон, под который файлы можно будет переименовывать, с чем поможет модуль regex.
Должна быть и возможность выбора каталога, в котором находятся файлы для переименования.
Для того, чтобы сделать приятно пользователю, стоит реализовать возможность переименования определенного количества файлов. Для этого понадобится сортировка файлов по алфавиту, времени создания файла или его размеру, в зависимости от требований пользователя.
Генератор дерева каталогов
Если каталогов много, иногда возникает необходимость установления связи между ними. С этой задачей справляется генератор древа.
Для этого приложения понадобится библиотека os, она сможет демонстрировать связь между отдельными каталогами. Для создания команд потребуются библиотеки Docopt или Argparse для создания команд. Ну а для придания приложению более удобного вида стоит применить Colored.
Для того, чтобы сделать приятное пользователю, стоит добавить генерацию изображений из древа. Для этого можно использовать библиотеку Pillow.