Что можно написать на python
Перейти к содержимому

Что можно написать на python

  • автор:

Что можно делать с Python?

У вас получилось: вы закончили курсы, или дочитали книгу, которая дает вам базу для программирования в Python. Вы освоили списки, словари, классы, может даже некоторые объектно-ориентированные концепции.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

И что дальше?

Python – это очень универсальный язык программирования, с плеядой пользователей во всех возможных сферах. Если вы освоили основы Python, и хотите построить на нем что-нибудь – важно понять, какой первый шаг следует сделать.

Содержание:

В данной статье мы рассмотрим несколько разных проектов, ресурсов и руководств, которые вы можете использовать для создания чего-либо в Python.

Что другие делают в Python?

Вы, наверное, думаете, что люди создают в Python в реальной жизни? Для начала, давайте быстренько пройдемся по крупным компаниям, которые используют данный язык.

Google, к примеру, использовали Python с самого начала, и сегодня он занимает место ведущих гигантов среди языков, ориентированных на серверную сторону. Гвидо ван Россум, добрый пожизненный диктатор Python (уже нет) даже работал нам на протяжении нескольких лет, наблюдая за тем, как развивается язык.

Spotify использует язык из-за его сервисов анализа данных и бэкенда. Согласно команде разработчиков, простота использования Python позволяет достичь молниеносной скорости разработки. Spotify выполняет тонны анализов, чтобы собирать рекомендации своим пользователям, так что им нужно что-нибудь, что может выполнять такую работу быстро. Python – это решение!

Что я могу делать в Python?

Начиная с веб разработки до работы с научными данными, машинным обучением, и пр., приложения Python не имеют границ. Рассмотрим несколько проектов, которые помогут вам развить ваши навыки работы с Python.

#1: Автоматизация нудных дел

Это ресурс по «практическому программированию для начинающих». Как и говорится в заголовке, с этой книгой вы можете узнать, как автоматизировать скучные процессы, такие как обновление электронных таблиц, или переименовывать файлы на компьютере. Это отличная отправная точка для тех, кто уже освоил основы Python.Что можно делать с Python?

У вас будет шанс попрактиковаться в том, что вы уже выучили на данный момент, создавая словари, проводя скрейпинг сайтов, работая с файлами и создавая объекты и классы. Практические приложения, встречающиеся в этой книге дадут вам реальное представление о том, что вы можете делать незамедлительно.

#2: Держать руку на курсе Биткоина

Похоже, что сегодня о Bitcoin Python говорят все. С тех пор, как в декабре 2017, когда курс почти поднялся до отметки в 20 000 долларов, криптовалюта стала на слуху у миллионов. Цена продолжает колебаться, но многие считают инвестиции целесообразными.

Если вы хотите обогатиться на виртуальном золоте и хотите знать, когда делать следующий шаг, то вам нужно иметь представление о лучших ценах на bitcoin. Это руководство может научить вас, как использовать навыки работы в Python, чтобы построить собственную систему уведомлений о курсе Bitcoin.

Основа этого проекта – это создание IFTTT (if this, then that) апплетов. Вы узнаете, как использовать библиотеку requests для отправки запросов HTTP и как использовать webhook для подключения вашего приложения к внешним сервисам.

Этот проект – отличная отправная точка для начинающего питониста, который заинтересован в крипте. Сервис, который вы построите с данным руководством может быть расширен под другие валюты, так что если вы также рассматриваете Ethereum – двери открыты!

#3: Создание калькулятора

Этот простой проект – отличный шлюз в мире GUI программирования. Создание бекенд сервисов – это важная часть развертывания, но может появиться необходимость во фронтенде, которую стоит учитывать. Создание приложений, которыми пользователи могут легко пользоваться – это первостепенная важность.

Если вам интересен UX\UI дизайн, то это руководство вам понравится. Вы будете работать с модулем tkinter, стандартным пакетом графического пользовательского интерфейса, который поставляется вместе с Python.

Модуль tkinter – это обертка вокруг Tcl/Tk, комбинация скриптового языка Tcl и расширения фреймворка графического пользовательского интерфейса Tk. Если у вас есть установленный Python, то у вас уже есть готовый к использованию tkinter. Вам нужно сделать простой вызов перед началом:

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

#4: Майнинг данных Twitter

Благодаря интернету, и (все чаще и чаще) интернету вещей (IoT) – у нас есть доступ к огромному количеству данных, о которых не могли мечтать всего десять лет назад. Аналитика – это огромная часть любой сферы, которая связана с данными. О чем люди разговаривают? Какие шаблоны видны в их поведении?

Твиттер – отличное место, чтобы получить ответы на эти вопросы. Если вам интересен анализ данных, тогда майнинг данных в Twitter – отличный способ попробовать свои навыки в Python, чтобы ответить на вопросы об окружающем мире.

В учебном пособии по анализу Твиттера позволит вам получать данные из Твиттера и анализировать настроения пользователей в среде docker. Вы узнаете, как регистрировать приложение вместе с Твиттером, это понадобиться вам, чтобы получить доступ к потоковым API.

Вы увидите, как использовать Tweepy для фильтрации твитов, которые вы хотите вытягивать, TextBlob для подсчета настроения этих твитов, Elasticsearch для анализа содержимого этих твитов и Kibana для показа результатов. По окончанию данного руководства, вы уже будете готовы к тому, чтобы заняться другими проектами, которые используют Python для обработки текстов и распознавания речи.

#5: Создание микроблога с помощью Flask

Похоже, что у каждого сегодня есть блог, и нет ничего плохого в том, чтобы иметь собственный уютный хаб онлайн. С развитием Twitter и Instagram, микроблоги стали чрезвычайно популярными. В этом проекте Мигеля Гринерга, вы научитесь создавать собственный микроблог.

Он называется «Мега-руководство Flask», и однозначно соответствует названию. Проработав 23 главы, вы получите глубокое представление о веб-фреймворке Flask. К концу проекта, вы сможете создать полностью работающее веб приложение.
Вам не нужно знать что-либо о Flask, чтобы приступить к делу, так что это идеально для тех, у кого чешутся руки, чтобы приступить к веб разработке.

Руководство недавно было обновлено, и теперь включает в себя контент, который поможет вам стать лучшим веб разработчиком. Вы можете прочесть его бесплатно онлайн, купить экземпляр в Amazon, или пройтись с автором по онлайн курсу пошагово. После окончания курса, вы сможете перейти к Django и создавать более масштабные веб приложения.

#6: Создание блокчейна

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

Вы можете получить лучшее представление о том, как это работает, построив свой блокчейн! Руководство Hackernoon поможет вам реализовать блокчейн с нуля. К концу проекта, вы получите глубокое представление того, как работает эта технология транзакций.

Вы будете работать с HTTP клиентами и библиотекой requests. После установки веб-фреймворка Flask, вы сможете использовать запросы HTTP и взаимодействовать со своим блокчейном в интернете.

Помните, блокчейн – это не только для фанатов криптовалюты. Построив такой самим, вы легко найдете креативный способ реализовать эту технологию в интересующей вас области.

#7: Разбираемся с лентой Twitter

Интересует постройка веб приложений, но не хватает уверенности, чтобы начать мега-проект? Не беспокойтесь, мы кое-что подготовили для вас. С нами вы сможете научиться создавать простое веб приложение всего за несколько часов.

Боб Белдерброс делится кейсом, где он создал 40th PyBites Code Challenge, в котором участникам нужно было построить простое веб приложение для лучшей навигации по ленте новостей Daily Python Tip в Твиттере. Вы можете пройтись по результатам данного челенджа и ознакомиться с кодом.

Вместо Flask, вы будете использовать микро веб-фреймворк Bottle. Он славится тем, что является слабо зависимым решением для быстрого создания приложений. Так как он был разработан таким образом, чтобы быть легким и простым в использовании, вы сможете получить свое приложение практически мгновенно.
Вы также сможете работать с модулем Tweepy, чтобы загружать данные из API Твиттера. Вы сможете хранить данные в базе SQLAlchemy или Peewee, так что заодно получите небольшую практику в запросах SQL.

#8: Играйте в PyGames

Этот раздел для тех, кто хочет весело провести время. Python может быть использован для написания различных аркадных игр, адвенчур и пазлов, на разработку которых уйдет всего несколько дней. К классическим играм, типа пинг-понга вы сможете перейти, когда освоите новые навыки программирования.

Библиотека Pygame заметно упрощает разработку собственных игр. Он включает в себя практически все необходимое, чтобы вы могли приступить к разработке игр.

Pygame совершенно бесплатный и находится в открытом доступе. Он включает в себя библиотеки компьютерной графики и работы со звуком, которые вы можете использовать для внедрения интерактивного функционала в ваше приложение.

Вам доступны десятки игр, которые вы можете создать при помощи библиотеки. Что-бы вы не хотели придумать, чувствуйте себя комфортно и делитесь своими работами в сообществе Pygame!

#9: Выберите свое собственное приключение

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

Руководство подразумевает базовое понимание программирования в Python, и помогает проложить мост между тем, что вы уже знаете и неизведанными землями для построения приложения.

Если вы хотите, чтобы ваша история вышла на новый уровень, вы можете использовать движок, вроде RenPy, чтобы добавить звуки и изображения в вашу игру, создав визуальную новеллу с полным погружением. (После этого, вы можете выложить игру в Steam и посмотреть, как она расходится! Лучший способ получить отзыв о вашей работе – создать собственный релиз на мировом рынке.)

#10: Скажите “Привет, мир!” машинному обучению

Машинное обучение может быть фундаментальной областью в понимании искусственного интеллекта. Однако, в этой сфере легко запутаться, так как она постоянно развивается и меняется.
К счастью, в вашем распоряжении имеются онлайн ресурсы, которые могут помочь освоиться, перед тем как нырнуть с головой в мир под названием data science. Это руководство создано Джейсоном Браунли, и является хорошим примером введением в использование Python для машинного обучения.

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

Руководство очень простое и в нем легко ориентироваться. Вы можете окончить его всего за несколько часов. По окончанию курса, у вас будет общее представление о том, как использовать Python в науке данных.

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

#11: Бросаем вызов!

Если вы не уверены в том, что готовы окунаться в некоторые крупные проекты, упомянутые ранее, при этом мелкие вас не очень интересуют, вы можете думать: а чем еще можно заняться?

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

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

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

Чтобы начать, попробуйте одно из следующих, чтобы оценить свои силы:

    . Более 20 доступных уровней. Создавайте простые скрипты в Python, чтобы решить уровень. По интернету есть разбросанные подсказки, но старайтесь искать решение самостоятельно! . Включает в себя 50 задач, и количество растет! Эти задачи направлены на то, чтобы вы научились работать в Python для создания приложений, которые будут решать определенные проблемы.

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

Книга Python Tricks – это отличный источник информации, который поможет при работе с задачами. В книге рассматриваются малоизвестные части Python, на основании которых и формируются задачи.

Чего (скорее всего) не стоит делать в Python?

Очевидно, что Python – чрезвычайно универсальный язык, с которым вы можете делать массу вещей. Но вы не можете делать буквально всё. Фактически, есть определенные сферы, на которые Python не рассчитан.

С точки зрения интерпретируемого языка, у Python есть проблемы со взаимодействия с низкоуровневыми устройствами, такими как драйверами устройств. Например, у вас будут проблемы, если вы захотите написать операционную систему только на Python. Вам лучше связать его с С или С++ для низкоуровневых приложений.

Однако, даже это может быть проблемой не долго. В качестве подтверждения гибкости Python, есть люди, которые работают над проектами, которые расширяют юзабилити Python для низкоуровневых взаимодействий. MicroPython – это один из таких проектов, разрабатывающих низкоуровневые возможности Python.

Что если вашей идеи нет в этом списке?

Ничего страшного! Этот список вряд ли можно назвать исчерпывающим: существует огромное количество других инструментов и приложений, которые вы можете построить в Python, которые мы не рассмотрели в данной статье. Не думайте, что ваши идеи должны как-либо ограничиваться данным списком. Это просто база, с которой вы можете начать.

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

Что делать дальше?

Ну, вот и все! Одиннадцать путей от новичка в Python до прожженного питониста!
Неважно, с чего вы хотите начать, вам открыты бесчисленные проспекты для разработки ваших навыков программирования. Начинайте с чего угодно! Родилась идея, которой нет в этом списке? Поделитесь в комментариях! Вы можете предложить идеальный проект для программиста-побратима.

Если вы застряли и ищете толчок в нужном направлении, поговорите об этом! Программирование не обязательно должно быть одиночным делом.

Если вы ищете способ задать вопрос и получить быстрый ответ от профессионалов – Python Форум всегда свободен. Это частное сообщество поможет вам найти контакт с теми, кто поможет вам пройти через возникшие стены, на которые вы наткнулись, работая в Pyhton.

Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.

12 актуальных идей для портфолио Python: веб-сайты, аналитика данных, автоматизация и парсинг

12 актуальных идей для портфолио Python: веб-сайты, аналитика данных, автоматизация и парсинг

Существует два способа получить достойную работу в сфере информационных технологий:

  1. С помощью платного сертификата.
  2. С помощью проектов, созданных в свободное время.

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

Но прежде всего, запомните одну важную цитату:

“Проект завершен, когда он на вас работает, а не вы работаете на него”. — Скотт Аллен

1. Виртуальный ассистент

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

Для написания такого ассистента не нужен особо высокий уровень технической подготовки, ведь она создаётся с помощью различных готовых пакетов, например, Pyttsx3 для чтения текста, os для добавления возможностей вроде воспроизведения музыки или запуска приложения, Wikipedia для поиска ответов в Интернете и многое другое. Помните об одном: каждый пакет должен предоставлять вашему проекту определенную функцию.

Дополнительно вы можете сделать виртуального ассистента более продвинутым, добавив средства веб-скрейпинга и автоматизации: напишите скрипт-скрейпер результатов поиска Google.

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

2. Веб-сайт

Создание собственного сайта-портфолио — всегда хорошая идея. В Python вам доступны два варианта практики веб-разработчика:

  1. Написать обычный сайт, например, сайт электронной коммерции, образовательную платформу или что-то подобное, широко представленное на рынке.
  2. Другая, более интересная возможность — написать узкоспециализированный сайт, выполняющий некоторые оригинальные потребности реальной жизни.

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

3. Автоматизация задач

Данный проект похож на первый (виртуальный ассистент): вы можете написать скрипт для автоматизации некоторых задач — будь то организация папок путем переименования, удаления и перемещения файлов, или скрипт, посещающий различные веб-сайты с маркетинговыми целями для ваших блогов и стартапа, или что-то другое, например, скрипт, отправляющий поздравления с днем рождения вашим друзьям и коллегам.

Вам доступно множество библиотек для облегчения работы над проектом автоматизатора задач, например, Beautiful Soup (веб-скрейпинг), Selenium (веб-автоматизация), win10toast (уведомления на рабочем столе), os (организация папок) и так далее.

4. Видеоигра

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

Собственноручно созданная игра говорит о разработчике только хорошее. Она показывает, насколько программист креативен и организован, она также показывает, что разработчик хорошо разбирается в концепциях программирования и ООП; более того, уже существует множество библиотек Python для создания игр.

5. Программа с компьютерным зрением

Компьютерное зрение — модная технология двадцать первого века. Многие компании внедряют те или иные приложения с компьютерным зрением в свой рабочий процесс; также на рынке можно встретить много успешных стартапов в области компьютерного зрения.

Создавая модель компьютерного зрения, вы показываете будущему работодателю, что легко адаптируетесь к новым технологиям и ситуациям.

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

Python предлагает широкий спектр библиотек для выполнения задач компьютерного зрения, но из всех библиотек OpenCV — одна из лучших.

6. Графический интерфейс (GUI)

Разработка графического интерфейса пользователя очень полезна и станет отличным проектом для вашего резюме. Графический интерфейс — это то, что видит и с чем взаимодействует пользователь, когда открывает ваше приложение.

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

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

7. Анализатор настроения

Настроение — это чувство или мысль. Анализ настроений — это изучение субъективной информации в выражениях пользователя, область обработки естественного языка, определяющая то, характеризуются ли данные как положительные, отрицательные или нейтральные. Для извлечения данных о настроении пользователя из текста пригодятся различные методы NLP (Natural Language Processing, Обработка Естественного Языка).

Было бы неплохо создать для портфолио проект на основе реальной жизни, например, программу, способную определить настроение клиента на основе его отзыва. Будь то рестораны, торговые центры или сайт электронной коммерции, такой программный продукт пригодится всем.

Например, вы сможете предсказать, когда компании стоит устроить распродажу или специальное предложение на те или иные товары. Вы можете помочь им развивать свой бизнес и, в конечном счете, свой собственный стартап. Если ничего другого не остаётся, то анализатор настроения — это по крайней мере хороший проект, который не стыдно добавить в свое резюме.

На Python написано множество библиотек для обработки естественного языка, но особенно популярными можно назвать пять из них: NLTK, TextBlob, spacy, Gensim и CoreNLP.

8. Веб-краулер

Веб-краулер или поисковой паук — это Интернет-бот, систематически просматривающий веб-страницы с целью извлечения данных.

Создайте веб-краулер, извлекающий данные из страниц различных торговых сайтов, сравнивает их и выдает самую низкую цену со ссылкой на товар; либо же создайте трекер, отслеживающий цены на товары и отправляющий электронное письмо тогда, когда цена снижается; либо создайте трекер распродаж, выдающий уведомление-оповещение для пользователя каждый раз, когда начинается распродажа определенного товара.

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

Лучшими и простыми библиотеками для веб-поиска считаются Beautiful Soup и requests.

9. Бот-трейдер

Это больше, чем просто проект. Он может стать для вас источником дохода. Вам нужно написать скрипт, который автоматически продает и покупает криптовалюты или акции в зависимости от их цены.

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

Бот-трейдер, безусловно, займет много времени, но если вы справитесь с ним, то он сможет обеспечить вас достойной работой сам по себе.

10. Пакет Python

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

Самое лучшее — это создание собственных пакетов и обмен ими с другими разработчиками с помощью пакетного менеджера PyPI.

Создание пакета Python не требует глубоких познаний. Вы можете легко создать его, следуя туториалам на YouTube.

Некоторые идеи для вас:

  1. Создайте пакет Python, форматирующий любого типа текст в удобную для обработки естественного языка структуру.
  2. Создайте пакет Python, с помощью которого можно получить результаты поиска Google в удобном формате.
  3. Преобразуйте свой сценарий автоматизации в пакет Python, полезный другим разработчикам.

11. Мобильное приложение

Одним из ограничений Python можно назвать невозможность создания мобильных приложений, однако это не на 100% правда. Для Python уже существует множество библиотек, вполне пригодных для создания мобильных приложений.

Kivy — одна из них: это кроссплатформенный фреймворк для создания мобильных приложений как на Android, так и на iOS.

12. Упрощение анализа данных

Если вы хоть немного знакомы с областью машинного обучения, то вы наверняка слышали об анализе данных.

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

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

Вы можете создать веб-сайт, принимающий набор данных и возвращающий очищенный набор данных, выполнив все этапы анализа. Все, что вам нужно на сайте, так это несколько ползунков, выпадающих элементов и полей ввода различных вариантов.

Для создания такого сайта вам пригодится streamlit: библиотека с открытым исходным кодом, специально разработанная для визуализации данных машинного обучения. С ее помощью создаются потрясающие приложения по работе с данными, а кода и усилий пишется и затрачивается меньше.

Сферы применения языка Python

Сферы применения языка Python

Python – это не просто язык программирования. Это целый мир со своими возможностями, трудными задачами и способами их решений. Новичку, который только начал знакомство с языком, довольно трудно осознать, в каких областях могут пригодиться его знания.

На самом деле, выбор довольно огромный. Python с каждым днем всё активнее завоевывает рынок, и на сегодняшний день он занимает одну из лидирующих позиций среди все остальных языков, соревнуясь за первенство с «монолитами» индустрии.

Конечно, Питон никогда не сможет заменить низкоуровневые C и C++, ведь именно они способны практически полностью контролировать процессор, не займет место Java, предназначенный для разработки сложнейших приложений. Также, Python нельзя назвать аналогом JavaScript, который поддерживается огромной долей сайтов.

Но почему Питон всё ещё движется к своему Олимпу? По какой причине его не вытиснили конкуренты? Ведь даже сам создатель Python, Гвидо ван Россум, в далеком 1989 году заявил, что не пророчит своему языку популярность на рынке.

На самом деле, с Питоном всё максимально прозрачно – он простой и универсальный, поэтому может применяться для работы по многим направлениям.

Web-разработка

На Питоне можно делать весь backend интернет-ресурса, который будет выполняться на сервере. Делается это при помощи специальных фреймворков (Django и Flask), написанных на этом языке. С их помощью упрощается процесс обработки адресов, обращение к базам данный и создание HTML, отображающихся на пользовательских страницах.

На сегодняшний день сторонними разработчиками написано большое количество дополнительного инструментария, направленно на реализацию сетевых приложений. К примеру, инструмент HTMLGen позволяет создавать готовые классы под страницу на HTML, используя для этого язык Питон. А пакет mod_python облегчает запуск сценариев Apache, обеспечивая при этом стабильную работу шаблонов Python Server Pages.

Графический интерфейс

Если говорить о визуальной составляющей в сфере IT, то и здесь Python может показать себя как вполне эффективный инструмент, решающий массу задач. Создавая современные графические интерфейсы на Питоне, можно легко подстроиться под стилистику ОС, в чьей среде создается приложение. Специально для этих целей были созданы дополнительные библиотеки для построения интерфейса – PythonCard и Dabo, облегчающие процесс работы.

Базы данных

Разработчики современной версии Питона создали максимально простой и понятный доступ практически к любым базам данных. Так, на сегодняшний день, в рабочей среде языка находится программный интерфейс, который позволяет пользоваться базами прямиком из сценария с помощью запросов SQL. Также, код, написанный на Python, может с минимальными доработками использоваться для баз данных MySQL и Oracle.

Системное программирование

Ещё одна монетка в копилку возможностей Python – это интерфейсы языка, которые позволяют управлять службами операционных систем Windows, Linux и др. Благодаря этому, Питон открывает массу возможностей для создания портативных программ. Не секрет, что этот язык применяется для написания приложений, используемых системными администраторами. Таким образом, Python ускоряет поиск и открытие файлов, запуск приложений, облегчает вычисления и многое другое.

Сложные вычислительные процессы

Это та самая сфера, где Питон может потягаться в своих возможностях с FORTRAN или C++. Специальное расширение NumPy, написанное для математических расчётов, прекрасно функционирует с массивами, интерфейсами уравнений и другими данными. Как только расширение устанавливается на компьютер, Python без проблем проходит интеграцию с библиотеками формул.

Но NumPy предназначен не только для вычислений. Помимо своей основной задачи, с его помощью можно создавать анимированные элементы и прорисовывать объекты в среде 3D, производя при этом параллельные вычисления. Например, популярное дополнение ScientificPython может похвастаться собственными библиотеками, которые созданы для вычислительных процессов в сфере науки.

Помимо расчётов, Python позволяет визуализировать полученные данные, что довольно удобно.

Машинное обучение

Помимо основного инструментария, у Python есть дополнительные библиотеки и фреймворки, позволяющие работать в области машинного обучения. Особой популярностью пользуются scikit-learn и TensorFlow. Scikit-learn отличается тем, что в него уже встроены самые распространенные алгоритмы обучения. TensorFlow, в свою очередь – это низкоуровневая библиотека, которая открывает возможности для создания алгоритмов пользователя.

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

Автоматизация процессов

Сегодня одним из самых востребованных способов использования языка Питон является создание мелких скриптов, автоматизирующих некоторые рабочие процессы. Например, можно написать вполне простой код, который будет «самостоятельно» работать с письмами на электронной почте. Если человеку необходимо отсортировывать письма с определенными ключевыми словами или фразами, то вручную это сделать довольно проблематично, а вот скрипт справится с этой задачей без проблем.

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

Игровая индустрия

Зря многие люди недооценивают геймдейв, ведь именно благодаря нему появилось так много гаджетов, разработок и значительно улучшилась графика. Конечно, для крупных проектов Python вряд ли подойдет, его инструментарий в данной области несколько ограничен, но для фанатов этого языка собрать небольшие приложения и инди-игрушки — не такая уж и сложная задача. Для мультиплатформенных игр лучше всего подойдет движок Unity, управляемый с помощью языка C#. Этот инструмент как раз и создан для таких целей.

Изучая Python, не стоит бояться пробовать свои силы, выполняя простые задачи, создавая элементарные скрипты, даже если они кажутся вам слишком шаблонными. Ведь только таким образом вы сможете подобрать для себя подходящее направление, в котором захотите развиваться и строить карьеру.

13 проектов для Python-разработчиков среднего уровня

Изучив основы Python, вам наверняка захочется закрепить знания и поработать над каким-нибудь проектом. Однако не всегда сразу приходит в голову, что можно сделать, а проекты в интернете часто или слишком простые, или слишком сложные. Поэтому в этой статье будут собраны идеи, подходящие для разработчиков среднего уровня.

Выбор проектной платформы

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

Веб-приложения — это приложения, которые работают в интернете, к ним можно получить доступ на любом устройстве без загрузки приложения на само устройство, если есть доступ к интернету. Веб-приложение состоит из бэкенда (серверной части) и фронтенда (пользовательского интерфейса). Для Python-разработчиков основное поле деятельности — бэкенд. Однако визуальная составляющая тоже важна, поэтому вам понадобятся некоторые знания HTML, CSS и, возможно, JavaScript. Чтобы создать простой интерфейс, основы будет достаточно.

Другой вариант — использовать Python как для фронтенда, так и для бэкенда с помощью библиотеки anvil. Вы можете создавать веб-приложения с помощью Python через такие веб-фреймворки как Django и Flask. Список фреймворков для создания веб-приложений на Python очень длинный, но Django и Flask остаются самыми популярными из них.

Десктоп

Существуют специальные библиотеки для создания десктопных приложений. Одна из них — PySimpleGUI, она хорошо подходит для разработчика среднего уровня. PyQt5 более мощная, но может оказаться слишком сложной в обучении.

Программное обеспечение, которое вы разрабатываете, может работать на любой операционной системе, будь то Windows, Linux или Mac. Всё, что нужно сделать после создания проекта, — это скомпилировать его в исполняемый файл для выбранной операционной системы.

Командная строка

Приложения командной строки — это те приложения, которые работают в окне консоли. В Windows в роли консоли выступает сама командная строка, а в Linux и Mac это терминал.

При работе с привычными вам приложениями вы щёлкаете по разным иконкам, набираете текст и т. п., но при работе с командой строкой вы вводите специальные команды, так что вам нужно владеть некоторыми техническими знаниями.

Приложения для командной строки могут быть не такими красивыми или простыми в использовании, как десктопные или веб-приложения, но это не делает их менее мощными. Можно улучшать внешний вид таких приложений, применяя цвета к тексту. Есть библиотеки, которые помогут вам с этим: Colorama и Colored. Фреймворки Docopt, Argarse и Click упростят вам процесс создания приложений.

Идеи веб-приложений

Агрегатор контента

Контент — самая важная часть всех ресурсов. Он существует в сети везде, от блогов до социальных сетей. Чтобы оставаться в курсе интересующей вас темы, часто приходится мониторить множество ресурсов. Один из способов облегчить себе и другим эту задачу — сделать агрегатор контента. Агрегатор извлекает информацию из разных сайтов и собирает её в одном месте. Люди могут видеть сообщения и новости, которые их интересуют, особо не копаясь в интернете.

Технические детали

Во-первых, нужно знать, с каких сайтов вы хотите получать контент. Затем вы можете использовать различные библиотеки, например Requests для отправки HTTP-запросов, а также BeautifulSoup для парсинга и сбора нужной информации.

Хорошо реализовать агрегацию контента в качестве фонового процесса. Библиотеки, вроде Celery или APScheduler могут помочь с этим. В частности, APScheduler отлично подходит для небольших фоновых процессов.

После парсинга содержимого с разных сайтов вам нужно его где-то сохранить. Следовательно, вам надо будет использовать базу данных.

Пользователи это оценят

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

Regex Query Tool

Иногда нужно найти в тексте определённую информацию, которую непросто найти с помощью обычного инструмента поиска в текстовых редакторах. Поэтому можно сделать другой инструмент, основанный на регулярных выражениях — Regex Query Tool.

С помощью регулярных выражений можно задавать более общие условия, например можно искать любые даты, записанные в определённом виде. Когда регулярное выражение сопоставляет шаблоны c текстом, оно подсвечивает совпавшие части, таким образом сообщая о них пользователю. Так, ваше приложение проверит наличие в тексте строк, переданных пользователем. С помощью Regex Query Tool пользователи смогут быстро найти то, что им нужно, намного быстрее, чем в текстовом редакторе.

Примеры Regex Query Tools:

Технические детали

Вам нужно сделать так, чтобы приложение давало положительный или отрицательный ответ, такой как «строка найдена» и «строка не найдена», обозначая положительный ответ зелёным цветом, а отрицательный — красным.

Вам не нужно реализовывать алгоритм с нуля. Вы можете использовать re — стандартную библиотеку Python. Библиотека будет возвращать совпавшие строки или None , когда строка запроса не совпадает ни с чем.

Пользователи это оценят

Вы также можете добавить ещё одну функцию — приложение сначала проверит наличие шаблонов, переданных самим пользователем, а после предложит альтернативные варианты запросов, похожие по смыслу, чтобы помочь пользователю, если он неправильно сформулировал запрос.

URL Shortener

Когда люди делятся ссылками или размещают URL-адреса в постах в социальных сетях, длинный адрес может оказаться очень неудобным и некрасивым. Облегчить задачу поможет URL Shortener. Он уменьшает количество символов в URL-адресе, облегчая их чтение и запоминание. К примеру, xyz.com/wwryb78&svnhkn%sghq?sfiyh может быть сокращено до xyz.com/piojwr.

Примеры таких приложений:

Технические детали

В приложении пользователи будут вводить исходный URL-адрес и в результате получать новый, сокращённый. Чтобы создать символы для укороченной версии адреса, можно использовать комбинацию, сгенерированную при помощи модулей random и string .

Поскольку есть вероятность, что пользователи будут посещать сокращенные URL-адреса через несколько дней, месяцев или даже лет, вам необходимо сохранить исходные и сокращенные адреса в базе данных. При поступлении запроса приложение проверяет, существует ли URL-адрес, и перенаправляет его на оригинал, в противном случае на страницу 404.

Пользователи это оценят

Можно добавить функцию для настройки генерации URL-адреса. Без сомнения, xyz.com/mysiteURL лучше, чем случайно сгенерированный xyz.com/piojwrURL.

Post-It Note

С тем количеством информации, которая проходит через нас ежедневно, неудивительно, что многое забывается. Здесь и помогают стикеры и заметки. Идея веб-проекта Post-It Note — позволить делать себе короткие напоминалки, которые можно будет посмотреть из любого браузера.

С Post-It Note люди могут делать записи в любое время и в любом месте, не опасаясь забыть или потерять что-либо как в случае с обычными стикерами.

Примеры таких приложений:

Технические детали

Основная цель этого проекта — предоставить людям место, где они смогут записывать свои мысли. Это означает, что у каждого пользователя будут свои заметки, поэтому в приложении должны быть учётные записи. Здесь важно, чтобы заметки каждого пользователя оставались приватными.

В Django встроена система аутентификации пользователя, так что в случае с ним всё просто. Вы можете использовать другие фреймворки, такие как Bottle или Flask, но вам придется самостоятельно внедрять систему аутентификации пользователей.

В какой-то момент пользователям может потребоваться разделить свои заметки по разным категориям. Реализация функции, позволяющей пользователям классифицировать свои заметки, сделает приложение более полезным. Например, вам могут понадобиться заметки об алгоритмах и структурах данных, поэтому приложение должно предоставить пользователю возможность разделить заметки по этим категориям.

Вам нужно будет хранить информацию и заметки каждого пользователя, поэтому база данных станет неотъемлемой частью этого проекта. Если вы хотите использовать базу данных MySQL, то вам понадобится модуль MySQLdb или psycopg2-модуль для базы данных PostgreSQL. Есть и другие модули, которые вы можете использовать, — всё зависит от базы данных, которую вы выбрали.

Пользователи это оценят

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

Приложение Викторина

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

Специальные пользователи, которых вы сделаете администраторами, смогут создавать тесты, а обычные пользователи будут отвечать на вопросы и проверять свои знания на определённые темы.

Примеры приложений викторины:

Технические детали

Одни пользователи создают викторины и тесты, а другие проходят их. Затем приложение отображает итоговую оценку и правильные ответы. Если вы хотите, чтобы пользователи имели возможность записывать свои оценки, вам придется создать учётные записи.

Кроме того, вам нужно создать базу данных для этого проекта. Она будет хранить вопросы, возможные ответы, правильные ответы и оценки каждого пользователя.

Пользователи это оценят

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

Идеи десктопных приложений

MP3-плеер

MP3-плеер — это устройство для воспроизведения MP3-файлов и других цифровых аудиофайлов. GUI MP3-плеера обычно подражает физическому MP3-плееру.

Технические детали

Чтобы быть привлекательным для пользователей, приложение должно иметь простой и красивый интерфейс. Плеер должен отображать информацию о воспроизводимом файле — имя, длительность и воспроизведённую и невоспроизведённую часть файла в минутах и ​​секундах.

В Python есть библиотеки — pygame, pymedia и simpleaudio, позволяющие работать с мультимедийными файлами в пару строк кода. Они могут обрабатывать файлы и других типов, а не только файлы MP3.

Пользователи это оценят

Вы можете реализовать функцию, которая позволяет пользователям создавать плейлисты. Для этого вам понадобится база данных для хранения информации о созданных плейлистах. Модуль sqlite3 позволяет использовать базу данных SQLite, она является лучшим вариантом в этом случае, поскольку основана на файлах и её проще настроить, чем другие базы данных SQL.

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

Alarm tool

Будильник, он и есть будильник. Подаёт звуковой сигнал в определённое время.

Примеры таких проектов:

Технические детали

Основная задача данного приложения — активировать звуковые сигналы в определённое время. Таким образом, информация о времени и звуковой сигнал, который должен быть воспроизведён, — основные части Alarm Tool. Приложение должно постоянно проверять установленное время будильника. Когда оно наступает, запускается функция воспроизведения сигнала. Для воспроизведения звука подойдёт библиотека pygame .

Пользователи должны иметь возможность редактировать и удалять напоминания. Приложение должно отображать все напоминания, даже неактивные. В базе данных вы будете хранить такие вещи, как дата и время будильника и путь до воспроизводимого звукового сигнала.

Пользователи это оценят

В качестве дополнительной функции вы можете разрешить пользователям устанавливать повторяющиеся напоминания. Они смогут устанавливать сигналы будильника, которые будут звучать в определенное время в определённые дни недели. Например, будильник может быть установлен на 14:00 каждый понедельник.

Вы также можете добавить функцию откладывания, чтобы ваши пользователи могли не только отключать его.

Файловый менеджер

Как правило, на персональном компьютере хранится множество файлов. Если бы все эти файлы были размещены в одном каталоге, было бы трудно ориентироваться и находить файлы или подкаталоги. Поэтому существует необходимость орагнизовывать файлы и для этого существуют файловые менеджеры. Они позволяет пользователям управлять файлами и каталогами через интерфейс.

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

Примеры файловых менеджеров:

Технические детали

Основная задача файлового менеджера — предоставить пользователям интерфейс для управления своими файлами. Он должен быть простым и удобным в использовании.

Вы можете использовать PySimpleGUI для создания пользовательского интерфейса без особой сложности. Библиотеки sys, os и shutil будут весьма полезны для этого проекта, поскольку в них присутствуют функции для выполнения действий с файлами в фоновом режиме, пока пользователь щёлкает мышью. Отображение файлов в виде сетки или спискапопулярнее всего, поэтому можно реализовать в приложении оба варианта. Это даст пользователю возможность выбрать, какой вариант просмотра ему подходит.

Пользователи это оценят

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

Также можно реализовать функцию сортировки. Это позволит пользователям сортировать файлы по времени создания, названию или размеру.

Expense Tracker

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

С помощью Expense Tracker пользователи могут устанавливать бюджет и отслеживать расходы, чтобы принимать более обдуманные финансовые решения.

Примеры реализаций таких трекеров:

Технические детали

Нужно провести некоторый статистический анализ, чтобы предоставить пользователям правильную информацию о своих расходах и помочь им тратить меньше. Несмотря на то, что отслеживание расходов является ключевой функцией, хороший интерфейс также не помешает. Опять же, с этим поможет PySimpleGUI. Библиотеки PyData, такие как Pandas и Matplotlib помогут вам с техническими аспектами. Pandas может быть использована для анализа данных, а с помощью Matplotlib удобно строить графики, которые дадут пользователям наглядное представление о расходах.
Приложение будет получать данные от пользователей. Для их хранения можно использовать SQLite и Python-модуль Sqlite3.

Пользователи это оценят

Чтобы пользователи могли извлечь выгоду из этого приложения, им нужно регулярно вводить свои расходы, но об этом легко забыть. Поэтому можно добавить функцию напоминания. Приложение будет отправлять уведомления в определённое время дня или недели, напоминая пользователям о том, что пора заглянуть в Expense Tracker.

Идеи приложений для командной строки

Контактная книга

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

Существуют похожие приложения, но большинство из них — мобильные, десктопные или веб-приложения:

Технические детали

Важно настроить команды, которые пользователи могут использовать для ввода контактных данных. Вы можете использовать фреймворки Argparse или Click. Они абстрагируют много сложных вещей, поэтому вам нужно сосредоточиться только на коде, который будет выполняться при вводе команд.

Должны существовать команды для удаления контактов, обновления контактной информации и вывода списка сохранённых контактов. Вы также можете добавить функцию отображения контактов в определённом порядке, например по алфавиту или дате создания.

Для хранения отлично подойдёт база данных SQLite.

Пользователи это оценят

Вы помните, что база данных SQLite хранится на компьютере пользователя? Что, если что-то случится, например пользователь потеряет свои файлы? Это означает, что он также потеряет контактную информацию.

Вы можете подстраховаться от этого и сделать резервную копию базы данных на платформе онлайн-хранилища. Для этого приложение может загружать файлы базы данных в облако через определённые промежутки времени. Можно даже добавить команду, которая позволяет пользователям создавать резервные копии базы данных самостоятельно. Таким образом, даже если файл базы данных потерян, пользователь по-прежнему будет иметь доступ к контактам.

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

Site Connectivity Checker

Иногда сайты могут быть недоступны по разным причинам, не зависящим от вас. Чтобы узнать, когда он заработает, можно пробовать открыть его раз в какое-то время, а можно использовать инструмент, который будет делать это за вас. Именно это и делает Site Connectivity Checker — посещает URL-адрес и возвращает его статус: активен или нет.

Примеры таких приложений:

Технические детали

Вам нужно выбрать, что вы будете использовать для своих подключений — TCP или ICMP. Модуль Socket понадобится непосредственно для самой проверки. Если вы с ним плохо знакомы, можете прочитать Socket Programming on Python (Guide). Благодаря выбранному фреймворку, будь то Docopt, Click или Argparse, вы добавляете команды, чтобы пользователь мог взаимодействовать с вашим приложением. Он также должен иметь возможность запускать приложение, останавливать его и определять интервалы проверки.

Для хранения данных можно использовать уже знакомую вам SQLite.

Пользователи это оценят

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

Bulk File Rename Tool

Иногда нужно назвать все файлы в каталоге в соответствии с определённым шаблоном. Например, вы можете присвоить всем файлам в каталоге имена с порядковыми номерами, которые увеличиваются в зависимости от количества файлов (File0001.jpg, File0002.jpg и т. д.). Выполнение этого вручную займёт уйму времени. Bulk File Rename Tool экономит пользователям много времени, ведь он избавляет их от необходимости выполнять скучную однотипную работу. С помощью Bulk File Rename Tool пользователи смогут переименовать тысячи файлов за пару секунд.

Примеры подобных инструментов:

Технические детали

Приложение должно найти способ манипулировать целевыми файлами. В этом проекте будут полезны библиотеки os, sys и shutil. Пользователи смогут задавать шаблон, под который должны переименовываться все файлы, с этим поможет модуль regex.

Например, есть шаблон myfiles, и приложение должно переименовать все файлы в myfiles + XYZ, где XYZ — это число. Конечно же, пользователи должны иметь возможность выбрать каталог, в котором находятся файлы для переименования.

Пользователи это оценят

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

Генератор древа каталогов

Каталоги похожи на родословные: каждый каталог имеет определённые отношения с другими каталогами. Никакие каталоги никогда не остаются самостоятельными, кроме пустого корневого каталога.

Когда вы работаете с файлами и каталогами, трудно увидеть взаимосвязь между ними, поскольку вы можете видеть только то, что существует в текущем уровне. С Генератором древа каталогов вы сможете увидеть связь между элементами. Это облегчает понимание их расположения.

Примеры таких генераторов:

Технические детали

Стандартная библиотека os будет ядром вашего приложения, она и будет демонстрировать связь между каталогами. Используйте библиотеки Docopt или Argparse для создания команд. Для придания вашему приложению более приятного вида можно использовать Colored. Надо решить, насколько глубоко будет заходить генератор. Например, если каталог имеет дочерние каталоги глубиной двенадцать уровней, стоит ли заходить дальше пятого уровня?

Пользователи это оценят

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

Советы по работе над проектами

Работа над проектами — непростое дело, но мотивация и интерес к проекту превратят его создание в увлекательный процесс. Если вы заинтересованы в каком-либо проекте — потратьте время на исследования, а также поиски библиотек и инструментов, которые помогут вам а работе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *