TGINSIGHT CHAT
Python Academy
@python_academy
EducaciónPython Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Posts recientes
Etiqueta: #python · 330 posts
Работа с регулярными выражениями используя re Регулярные выражения (регулярки) являются инструментом для работы с текстовой информацией. Они позволяют осуществлять поиск, извлечение и модификацию текста, используя гибкие шаблоны. Сегодня, мы рассмотрим, как работать с регулярками в Python используя модуль re. Что такое модуль re? Модуль re в Python предоставляет функционал для работы с регулярными выражениями. Регулярные выражения (regex) - это шаблоны, описывающие набор символов с определенными свойствами. В данном примере мы использовали функцию re.search для поиска подстроки в тексте. Параметр re.IGNORECASE делает поиск регистронезависимым. Модуль re также предоставляет возможности для более сложных операций, таких как замена текста по шаблону, разделение строк на подстроки и многое другое. Для более подробной информации рекомендуется изучить официальную документацию #python#regex
Исследование структуры кода с помощью модуля ast При работе с кодом на Python, иногда возникает необходимость анализа его структуры. Для этого идеально подходит модуль ast (Abstract Syntax Trees), который предоставляет мощные инструменты для работы с абстрактными синтаксическими деревьями. Что такое ast? ast - это модуль Python, который позволяет разбирать и анализировать исходный код на Python, представляя его в виде абстрактного синтаксического дерева (AST). AST представляет собой структурированное представление кода, которое легко интерпретировать и анализировать. Пример использования модуля ast: import ast code = "print('Hello, ast!')" tree = ast.parse(code) print(ast.dump(tree)) В данном примере мы использовали функцию ast.parse для разбора строки кода с помощью модуля ast. Функция ast.dump выводит структуру AST в удобочитаемом формате. Анализ структуры кода: import ast code = """ def greet(name): print(f'Hello, {name}!') """ tree = ast.parse(code) for node in ast.walk(tree): if isinstance(node, ast.FunctionDef): print(f"Найдена функция: {node.name}") elif isinstance(node, ast.Print): print("Обнаружен оператор печати") В данном примере мы использовали модуль ast для анализа структуры кода. Функция ast.walk позволяет обойти все узлы AST, а затем мы проверяем их типы для выделения определенных элементов, таких как функции или операторы. Модуль ast также предоставляет возможности для более сложных операций, таких как изменение кода, создание новых выражений и многое другое. #python#ast#анализкода
Hashtags
Взаимодействие с HTTP с помощью curl_cffi Что такое curl_cffi? curl_cffi - это обертка над библиотекой libcurl, предоставляющая Python-разработчикам удобный интерфейс для отправки HTTP-запросов, управления сессиями и обработки ответов. Плюсы использования curl_cffi: - Поддерживает подделку отпечатков JA3/TLS и http2. - Гораздо быстрее, чем requests/httpx, сопоставимо с aiohttp/pycurl. - Одинаковый синтаксис как и у requests. - Предварительно скомпилирован, поэтому вам не нужно компилировать его на вашем компьютере. - Поддерживает asyncio с поворотом прокси для каждого запроса. - Поддерживает http 2.0, что не предоставляет requests. Пример использования curl_cffi: from curl_cffi import Curl # Создание объекта Curl curl = Curl() # Установка URL curl.setopt(Curl.URL, 'https://api.example.com') # Выполнение GET-запроса curl.perform() # Получение ответа response = curl.getvalue() # Вывод результата выполнения запроса print(response) В данном примере мы создаем объект Curl, устанавливаем URL и выполняем GET-запрос. Результат запроса сохраняется в переменной response. Настройка параметров запроса: from curl_cffi import Curl # Создание объекта Curl curl = Curl() # Установка URL curl.setopt(Curl.URL, 'https://api.example.com') # Установка параметров запроса curl.setopt(Curl.HTTPHEADER, ['Content-Type: application/json']) curl.setopt(Curl.POSTFIELDS, '{"key": "value"}') # Выполнение POST-запроса curl.perform() # Получение ответа response = curl.getvalue() # Вывод результата выполнения запроса print(response) В данном примере мы добавляем заголовок и данные для POST-запроса. Метод setopt используется для установки различных параметров запроса. Модуль curl_cffi обладает богатым функционалом, таким как управление cookie, обработка редиректов, аутентификация, и многое другое. Надеюсь, что вы найдете модуль curl_cffi полезным в ваших проектах, требующих взаимодействия с внешними серверами по протоколу HTTP. Для более подробной информации ознакомьтесь с документацией. #python#curl_cffi
Hashtags
Управление операционной системой с помощью модуля os в Python Сегодня давайте поговорим о инструменте для взаимодействия с операционной системой - модуле os. Этот модуль предоставляет широкий спектр функций, позволяющих выполнять операции с файлами, директориями, переменными окружения и многими другими аспектами операционной системы. Что такое модуль os? Модуль os в Python предоставляет множество функций для работы с операционной системой, делая их доступными для Python-разработчиков. Он позволяет выполнять различные операции, такие как чтение и запись файлов, управление процессами, работа с директориями и многое другое. Преимущества использования модуля os: - Кросс-платформенность: Модуль os предоставляет абстракцию для операций, специфичных для операционной системы, что обеспечивает кросс-платформенную совместимость. - Работа с файлами и директориями: Вы можете легко выполнять операции чтения, записи, удаления файлов, а также управлять структурой директорий. - Управление процессами: Модуль os позволяет вам взаимодействовать с процессами операционной системы, запускать новые процессы и многое другое. - Переменные окружения: Вы можете управлять переменными окружения вашего приложения, что полезно при конфигурировании и настройке. Как использовать модуль os? Для начала работы с модулем os, вам необходимо просто импортировать его: import os Затем вы можете использовать различные функции модуля os в зависимости от ваших потребностей. Например, для получения текущей директории: current_directory = os.getcwd() print("Текущая директория:", current_directory) Модуль os предоставляет множество других функций, таких как os.listdir(), os.mkdir(), os.remove() и многие другие, для выполнения различных операций. #python#os
Управление зависимостями в Python с Poetry Сегодня расскажем о мощном инструменте для эффективного управления зависимостями в ваших Python-проектах - Poetry. Poetry представляет собой интуитивно понятный инструмент, который упрощает создание, управление и публикацию пакетов, делая процесс разработки более прозрачным и удобным. Poetry - это инструмент для управления зависимостями и управления проектами в Python. Он предоставляет удобный способ определения зависимостей, настройки окружения и управления проектом с использованием файла pyproject.toml. Преимущества использования Poetry: - Простота: Poetry предоставляет простой и интуитивно понятный способ управления зависимостями, позволяя сосредоточиться на коде, а не на конфигурации. - Управление версиями: Poetry автоматически создает файлы requirements.txt и Pipfile.lock, обеспечивая точное управление версиями зависимостей. - Встроенная документация: Интегрированная поддержка документации и команд для упрощения публикации пакетов. - Интеграция с проектами: Poetry легко интегрируется в процессы разработки и может использоваться вместе с такими инструментами, как VSCode, PyCharm и другими. Как использовать Poetry? Для начала работы установите Poetry с помощью следующей команды: pip install poetry Инициализируйте новый проект: poetry new your_project Добавьте зависимости: poetry add package_name И Poetry автоматически обновит ваш файл pyproject.toml и управит зависимостями. #python#poetry#pyprojecttoml
Hashtags
Логирование в Python используя Loguru Сегодня мы расскажем вам о библиотеке loguru, которая предоставляет простые и эффективные средства для логирования ваших приложений на Python. loguru призвана упростить процесс создания и анализа логов, делая его более интуитивно понятным и гибким. Что такое loguru? loguru - это библиотека для логирования в Python, созданная с упором на простоту использования и выразительность. Она предоставляет удобный синтаксис для настройки логирования и поддерживает различные форматы вывода, а также обеспечивает автоматическую ротацию лог-файлов. Преимуществаloguru: 1. Простота использования:loguru предлагает чистый и интуитивно понятный синтаксис для логирования, что упрощает его внедрение в ваши проекты. 2. Гибкость: Вы можете легко настраивать формат вывода, выбирать уровни логирования и добавлять собственные обработчики. 3. Автоматическая ротация: Библиотека автоматически управляет ротацией лог-файлов, предотвращая переполнение дискового пространства. 4. Поддержка различных форматов вывода:loguru поддерживает вывод в различных форматах, включая JSON, CSV, и прочие. #python#loguru#логирование
Hashtags
Использование внешних процессов в Python с помощью subprocess В мире программирования бывают моменты, когда необходимо взаимодействовать с внешними программами из кода на Python. Для этих задач отлично подходит модуль subprocess, который предоставляет удобный способ запуска внешних процессов, передачи данных им и получения результатов выполнения. Что такое subprocess? subprocess - это модуль Python, который предоставляет множество возможностей для запуска новых процессов, подключения к существующим процессам, а также обмена данными между вашим кодом и внешними программами. Пример использования subprocess: import subprocess # Простой пример: выполнение команды "ls" в командной строке result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, text=True) # Вывод результата выполнения команды print(result.stdout) В данном примере мы использовали subprocess.run для выполнения команды "ls -l". Параметр stdout=subprocess.PIPE указывает на перенаправление вывода команды в переменную result.stdout. Параметр text=True гарантирует, что вывод будет в текстовом формате. Передача данных и получение результата: import subprocess # Передача данных в команду и получение результата input_data = "Hello, subprocess!" result = subprocess.run(['echo', input_data], stdout=subprocess.PIPE, text=True) # Вывод результата выполнения команды print(result.stdout) В данном примере мы использовали команду echo для вывода переданных данных. subprocess.run позволяет передавать данные в команду через параметр input. subprocess также предоставляет множество других функций для более сложных сценариев взаимодействия с процессами, таких как запуск процесса в фоновом режиме, обработка ошибок, а также потоковый вывод данных. #python#subprocess
Hashtags
Автоматическое форматирование Python кода с помощью Black Сегодня мы расскажем вам о незаменимом инструменте для поддержания структуры и читаемости вашего Python кода - Black. Black - это автоматический форматтер кода, который помогает вам избавиться от несогласованных стилей и выравнивает ваш код согласно официальным рекомендациям PEP 8. Что такое Black? Black - это инструмент для автоматического форматирования Python кода, разработанный с учетом строгих принципов. Он призван обеспечить единообразие в структуре кода и упростить его чтение для всех участников проекта. Преимущества использования Black: - Единообразие: Black гарантирует, что ваш код будет соответствовать стандартам PEP 8, что делает его более читаемым и понятным. - Автоматизация:Black автоматически форматирует код, что позволяет избежать рутинных задач по выравниванию и форматированию. - Интеграция:Black легко интегрируется в ваш рабочий процесс с помощью популярных инструментов разработки, таких как VSCode, PyCharm и других. - Кастомизация: Вы можете настроить некоторые параметры Black, чтобы адаптировать его к вашим потребностям. Как использовать Black? Для начала, установите Black с помощью pip: pip install black Затем, вы можете использовать Black для форматирования вашего кода следующим образом: black your_python_file.py Black автоматически примет ваш код и приведет его к согласованному стилю. Вы также можете настроить некоторые аспекты форматирования, чтобы сделать его идеально подходящим для вашего проекта. #python#Black#форматирование#код#PEP8
Управление базой данных в Python с Alembic и SQLAlchemy Сегодня мы поговорим о том, как можно эффективно управлять структурой вашей базы данных в Python с использованием библиотек Alembic и SQLAlchemy. Эта связка инструментов позволяет легко мигрировать схему базы данных, управлять версиями и обеспечивает удобный способ разработки и поддержки приложений. Что такое Alembic и SQLAlchemy? SQLAlchemy - это мощная библиотека для работы с базами данных в Python. Она предоставляет ORM (Object-Relational Mapping), что делает работу с базой данных более Pythonic. Вы можете определять модели данных, выполнять запросы и манипулировать данными, используя чистый Python. Alembic - это инструмент для управления миграциями базы данных. Он позволяет создавать и применять миграции для изменения структуры базы данных, такие как создание таблиц, добавление столбцов или изменение индексов. Пример использования Alembic и SQLAlchemy: 1. Установка библиотек: pip install sqlalchemy alembic 2. Инициализация Alembic: alembic init my_migration 3. Определение моделей данных в SQLAlchemy: from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) 4. Создание миграции: alembic revision --autogenerate -m "Create user table" 5. Применение миграции: alembic upgrade head Теперь вы можете легко управлять структурой базы данных, создавать новые миграции и применять их, чтобы обновить вашу базу данных. Полезные ссылки: - SQLAlchemy: https://www.sqlalchemy.org/ - Alembic: https://alembic.sqlalchemy.org/ #python#sqlalchemy#alembic#базаданных#миграции
Автоматизация мобильных приложений с помощью uiautomator2 Сегодня мы поговорим о библиотеке uiautomator2, которая предоставляет мощные инструменты для автоматизации тестирования и взаимодействия с мобильными приложениями на платформе Android. Эта библиотека может пригодиться для создания автотестов, скриптов для тестирования пользовательского интерфейса, и многих других задач, связанных с мобильной разработкой. Что такое uiautomator2? uiautomator2 - это Python-библиотека, предоставляющая возможность управления устройствами Android и взаимодействия с приложениями на них. Она основана на Google's Android Testing Support Library и является мощным инструментом для автоматизации действий на устройствах Android. С uiautomator2, вы можете выполнять действия, такие как нажатие кнопок, ввод текста, чтение содержимого экрана устройства и многое другое, что делает ее полезной для автоматизации тестирования мобильных приложений. #python#uiautomator2#автоматизация
Красивый вывод таблиц Недавно нам понадобилось логировать часть базы данных. И тут мы вспомнили про прекрасный модуль prettytable, который позволяет красиво выводить таблицы. Итак, имена столбцов задается с помощью атрибута table.field_names. А добавлять строки с данными в таблицу можно методом table.add_row([]), передавая туда список элементов. Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод table.get_string(). #python#prettytable
Hashtags
Познакомьтесь с IceCream: Улучшенным выводом в Python Hедавно мы наткнулись на потрясающий инструмент для отладки и разработки в Python, и хотим поделиться им с вами! Представляем вам icecream - библиотеку, которая упрощает отладку, улучшая вывод ваших данных. Что такое icecream? icecream - это легковесная библиотека для Python, которая предоставляет простые, но мощные инструменты для отслеживания и вывода значений переменных и данных в процессе выполнения кода. Этот инструмент полезен при отладке, тестировании и разработке, помогая вам лучше понять, что происходит в вашей программе. Преимущества icecream перед стандартным print: 1. Читабельность и простота в использовании: icecream автоматически выводит имя переменной и ее значение, что делает вывод более понятным и читабельным. 2. Цветовая кодировка: icecream поддерживает цветовую кодировку вывода, что делает его более наглядным и удобным для анализа. Настройка icecream: icecream позволяет настраивать вывод, добавлять дополнительную информацию, и даже сохранять логи в файл. Вы можете настроить icecream в соответствии с вашими потребностями, делая вывод более информативным и удобным. from icecream import ic, install install(autodetect=True, includeContext=True) number = 42 ic(number) text = "Привет, мир!" ic(text) Это добавит контекст, такой как имя файла и номер строки, в вывод: ic| <ipython-input-1-5a0d5d83d2d3>:1 in <module> - number: 42 ic| <ipython-input-1-5a0d5d83d2d3>:4 in <module> - text: 'Привет, мир!' Автор идеи поста: @hexvel Если у вас есть предложения для следующего поста, делитесь в комментариях! #Python#logging#icecream