Стандартная библиотека
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