Загрузка...

Стандартная библиотека Python

Стандартная библиотека Python представляет собой обширный набор встроенных модулей и пакетов, которые предоставляются вместе с интерпретатором Python. Она обеспечивает разработчиков мощными инструментами для решения типовых задач, таких как работа с файлами, обработка данных, взаимодействие с сетью, автоматизация системных процессов, анализ текста и сериализация данных. Использование стандартной библиотеки снижает зависимость от сторонних библиотек, повышает переносимость кода и ускоряет процесс разработки. Ключевые концепции включают модули (самостоятельные блоки кода), пакеты (коллекции модулей), синтаксис Python, встроенные структуры данных (списки, словари, множества), алгоритмы и принципы объектно-ориентированного программирования. Освоение стандартной библиотеки позволяет разрабатывать модульный, читаемый и устойчивый к ошибкам код, эффективно использовать обработку исключений, оптимизировать производительность и строить масштабируемые backend-решения.

Практический пример — анализ логов сервера для выявления и подсчета ошибок. В этом сценарии используются модули os для операций с файлами, datetime для работы с датами и временем, re для поиска по регулярным выражениям, collections.Counter для подсчета частоты ошибок и json для сохранения результатов. Каждый модуль выполняет свою роль: os управляет файловой системой, datetime фиксирует временные метки, re ищет ошибки в тексте, Counter агрегирует данные, а json сохраняет их в удобном формате. Такой подход обеспечивает модульность, читаемость и расширяемость кода. Применение этой схемы напрямую актуально для мониторинга серверов, автоматической аналитики логов и генерации отчетов для backend-разработки, что позволяет получать ценные данные для принятия решений.

Example

python
PYTHON Code
import os
import datetime
import re
import json
from collections import Counter
from math import ceil

log_file = "server.log"
backup_file = f"backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.log"

try:
with open(log_file, 'r') as f:
lines = f.readlines()

error_lines = [line for line in lines if re.search(r'ERROR', line)]
error_count = Counter([line.split()[1] for line in error_lines])

with open("error_summary.json", 'w') as f:
json.dump(error_count, f, indent=4)

os.rename(log_file, backup_file)
backups_needed = ceil(len(lines) / 1000)
print(f"Необходимое количество резервных копий: {backups_needed}")

except FileNotFoundError as e:
print(f"Файл не найден: {e}")
except Exception as e:
print(f"Неожиданная ошибка: {e}")

📊 Comprehensive Reference

Module Function Description Syntax Example Notes
os rename Переименование файлов os.rename(src,dst) os.rename("old.txt","new\.txt") Файловые операции
sys exit Завершение интерпретатора sys.exit(\[status]) sys.exit(1) Завершение программы
math ceil Округление вверх math.ceil(x) math.ceil(3.4) Математические операции
math sqrt Вычисление квадратного корня math.sqrt(x) math.sqrt(16) Математические операции
datetime now Текущие дата и время datetime.datetime.now() datetime.datetime.now() Работа с датой/временем
datetime strftime Форматирование даты datetime.strftime(format) datetime.datetime.now().strftime("%Y-%m-%d") Форматирование
re search Поиск по регулярному выражению re.search(pattern,string) re.search(r"ERROR","log") Анализ текста
re sub Замена по регулярному выражению re.sub(pattern,repl,string) re.sub(r"\d+","", "abc123") Очистка данных
json dump Запись JSON json.dump(obj,fp) json.dump(data,f) Сериализация
json load Чтение JSON json.load(fp) data=json.load(f) Десериализация
collections Counter Подсчет элементов collections.Counter(iterable) Counter(\["a","b","a"]) Анализ данных
itertools chain Объединение итераторов itertools.chain(*iterables) list(chain(\[1,2],\[3,4])) Эффективная итерация
functools reduce Редукция последовательности functools.reduce(func,seq) reduce(lambda x,y:x+y,\[1,2,3]) Функциональное программирование
random randint Случайное число random.randint(a,b) random.randint(1,10) Случайности
heapq heappush Добавление в кучу heapq.heappush(heap,item) heappush(heap,5) Приоритетная очередь
heapq heappop Удаление наименьшего элемента heapq.heappop(heap) heappop(heap) Приоритетная очередь
threading Thread Создание потока threading.Thread(target=func) threading.Thread(target=my_func) Многопоточность
subprocess run Выполнение внешней команды subprocess.run(args) subprocess.run(\["ls","-l"]) Системные вызовы
time sleep Приостановка выполнения time.sleep(seconds) time.sleep(2) Контроль времени
pathlib Path Работа с путями Path("file.txt") Path("data.txt").exists() Файловые пути
uuid uuid4 Создание уникального ID uuid.uuid4() uuid.uuid4() Уникальные идентификаторы
base64 b64encode Кодирование Base64 base64.b64encode(data) base64.b64encode(b"data") Кодирование
hashlib sha256 Создание SHA-256 хеша hashlib.sha256(data) hashlib.sha256(b"data").hexdigest() Безопасность
copy deepcopy Глубокое копирование copy.deepcopy(obj) copy.deepcopy(mylist) Избегание ссылок
gzip open Открытие gzip файлов gzip.open(filename) gzip.open("file.gz") Сжатие
zipfile ZipFile Работа с zip архивами zipfile.ZipFile(file) with ZipFile("a.zip") as z: pass Сжатие
configparser ConfigParser Чтение конфигураций configparser.ConfigParser() config.read("config.ini") Конфигурации
email message_from_string Парсинг email email.message_from_string(string) msg=email.message_from_string(raw) Email
urllib request.urlopen Открытие URL urllib.request.urlopen(url) urllib.request.urlopen("[http://example.com") HTTP-запрос](http://example.com%22%29
socket socket Создание сокета socket.socket() s=socket.socket() Сетевые операции
logging basicConfig Настройка логирования logging.basicConfig(level) logging.basicConfig(level=logging.INFO) Логи
argparse ArgumentParser CLI аргументы argparse.ArgumentParser() parser=argparse.ArgumentParser() Командная строка
shutil copy Копирование файлов shutil.copy(src,dst) shutil.copy("a.txt","b.txt") Файловые операции
pprint pprint Красивый вывод pprint.pprint(obj) pprint.pprint(data) Отображение данных
statistics mean Среднее значение statistics.mean(data) statistics.mean(\[1,2,3]) Статистика
statistics median Медиана statistics.median(data) statistics.median(\[1,2,3]) Статистика
queue Queue Потокобезопасная очередь queue.Queue() q=queue.Queue() Многопоточность
enum Enum Создание перечислений class Color(Enum): RED=1 Color.RED Константы
typing List Аннотация типов from typing import List def f(x:List): Type hints
decimal Decimal Точные десятичные decimal.Decimal("0.1") Decimal("0.1") Точные вычисления
fractions Fraction Дроби fractions.Fraction(a,b) Fraction(1,3) Точные вычисления
statistics stdev Стандартное отклонение statistics.stdev(data) statistics.stdev(\[1,2,3]) Статистика
bisect insort Вставка в отсортированный список bisect.insort(list,item) bisect.insort(a,5) Сортировка
xml etree.ElementTree Парсинг XML ET.parse(file) ET.parse("file.xml") Структурированные данные
pickle dump Бинарная сериализация pickle.dump(obj,fp) pickle.dump(obj,f) Сохранение данных
pickle load Десериализация pickle.load(fp) obj=pickle.load(f) Восстановление данных
shelve open Постоянный словарь shelve.open(file) db=shelve.open("db") Сохранение
tokenize generate_tokens Токенизация tokenize.generate_tokens(readline) tokens=list(tokenize.generate_tokens(f.readline)) Анализ кода
pdb set_trace Точка останова pdb.set_trace() pdb.set_trace() Отладка
inspect getmembers Члены объекта inspect.getmembers(obj) inspect.getmembers(obj) Рефлексия
socketserver TCPServer TCP сервер socketserver.TCPServer((host,port),handler) TCPServer(("0.0.0.0",8000),Handler) Кастомный сервер
csv reader Чтение CSV csv.reader(file) csv.reader(f) Табличные данные
csv writer Запись CSV csv.writer(file) csv.writer(f) Табличные данные
tarfile open TAR архив tarfile.open(file) tarfile.open("archive.tar") Архивирование
wave open Файл WAV wave.open(file) wave.open("audio.wav") Аудио
audioop add Операции с аудио audioop.add(fragment1,fragment2,2) audioop.add(b1,b2,2) Аудио
gettext gettext Локализация gettext.gettext("text") _("Привет") Интернационализация
xmlrpc ServerProxy XML-RPC клиент xmlrpc.client.ServerProxy(url) ServerProxy("[http://localhost:8000") RPC](http://localhost:8000%22%29
asyncio run Выполнение корутин asyncio.run(coro) asyncio.run(main()) Асинхронное выполнение
contextlib contextmanager Менеджер контекста @contextmanager @contextmanager def cm(): yield Управление ресурсами

🧠 Проверьте Свои Знания

Готов к Началу

Test Your Knowledge

Проверьте свои знания стандартной библиотеки Python

3
Вопросы
🎯
70%
Для Прохождения
♾️
Время
🔄
Попытки

📝 Инструкции

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