Справочник Python

Полное руководство по языку на русском

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

os — операционная система

import os  # импорт модуля

os.getcwd()  # работа с ОС
os.chdir("..")  # работа с ОС
os.listdir(".")  # работа с ОС
os.mkdir("new_dir")  # работа с ОС
os.remove("file")  # удаление первого вхождения
os.rename("old", "new")  # работа с ОС
os.environ.get("PATH")  # безопасный доступ со значением по умолчанию
os.path.join("dir", "file")  # объединение через разделитель
os.path.exists("path")  # работа с ОС
os.path.isfile("path")  # работа с ОС
os.path.isdir("path")  # работа с ОС
os.path.splitext("file.txt")  # ('file', '.txt')

sys — системные параметры

import sys  # импорт системного модуля

sys.version  # системные параметры
sys.platform  # системные параметры
sys.argv  # системные параметры
sys.path  # системные параметры
sys.exit(0)  # системные параметры
sys.modules  # системные параметры
sys.getsizeof(obj)  # системные параметры

collections — дополнительные коллекции

from collections import defaultdict, Counter, deque, OrderedDict  # импорт специализированных коллекций

# defaultdict — значение по умолчанию
dd = defaultdict(list)  # словарь со значением по умолчанию
dd["key"].append(1)  # добавление в конец

# Counter — подсчёт
cnt = Counter("abracadabra")  # подсчёт элементов
cnt.most_common(2)  # [('a', 5), ('b', 2)]

# deque — двусторонняя очередь
dq = deque([1, 2, 3])  # двусторонняя очередь
dq.append(4); dq.appendleft(0)  # добавление в конец
dq.pop(); dq.popleft()  # удаление и возврат последнего элемента

# namedtuple — кортеж с именами
from collections import namedtuple  # импорт специализированных коллекций
Point = namedtuple("Point", ["x", "y"])  # именованный кортеж

itertools — работа с итераторами

import itertools  # импорт модуля итераторов

# Бесконечные
itertools.count(10, 2)    # 10, 12, 14, ...
itertools.cycle("ABC")    # A, B, C, A, ...

# Комбинаторика
itertools.product("AB", "12")  # итераторные функции
itertools.permutations("ABC", 2)  # итераторные функции
itertools.combinations("ABC", 2)  # итераторные функции

# Группировка
itertools.groupby(sorted(data), key=func)  # итераторные функции

logging — логирование

import logging  # импорт модуля логирования

logging.basicConfig(  # логирование
    level=logging.INFO,  # логирование
    format="%(asctime)s [%(levelname)s] %(message)s"  # строковое значение
)

logging.debug("Отладка")  # логирование
logging.info("Информация")  # логирование
logging.warning("Предупреждение")  # логирование
logging.error("Ошибка")  # логирование
logging.critical("Критическая ошибка")  # логирование

# Логирование в файл
file_handler = logging.FileHandler("app.log")  # логирование
logger = logging.getLogger("my_app")  # логирование
logger.addHandler(file_handler)

argparse — аргументы командной строки

import argparse  # импорт модуля для аргументов командной строки

parser = argparse.ArgumentParser(description="Описание")  # аргументы командной строки
parser.add_argument("-v", "--verbose", action="store_true")
parser.add_argument("-o", "--output", default="out.txt")
parser.add_argument("files", nargs="+")

args = parser.parse_args()  # присваивание
print(args.verbose, args.output, args.files)  # вывод в консоль

# Запуск: python script.py -v -o result.txt file1.txt file2.txt

copy — копирование объектов

import copy  # импорт модуля копирования

original = [1, [2, 3], 4]  # инициализация списка
shallow = copy.copy(original)  # поверхностная копия
deep = copy.deepcopy(original)  # глубокая копия

# Поверхностная: вложенные объекты разделяются
# Глубокая: полная независимая копия

hashlib — хеширование

import hashlib  # импорт модуля хеширования

hashlib.md5(b"data").hexdigest()  # получение хеша в hex
hashlib.sha256(b"data").hexdigest()  # получение хеша в hex
hashlib.sha256("пароль".encode()).hexdigest()  # получение хеша в hex