JSON — это лёгкий формат обмена данными, который читается человеком и отлично понимается компьютером. Несмотря на название (JavaScript Object Notation), он полностью независим от языка — и в Python работать с ним проще простого.
Что к чему
*
json.dump(obj, fp, ...) — сериализует obj сразу в файл/поток (fp), возвращает None.*
json.dumps(obj, ...) — сериализует в строку (удобно отправлять по сети/логировать).*
json.load(fp, ...) — читает из файла/потока и возвращает Python‑объект.*
json.loads(s, ...) — парсит из строки и возвращает Python‑объект.Сохранение JSON (и разница dump/dumps)
import json
data = {
"name": "John",
"salary": 1499.9,
"is_real": False,
"titles": ["The Unknown", "Anonymous"]
}
# dump: сразу в файл
with open("data1.json", "w", encoding="utf-8") as f:
json.dump(data, f, indent=2) # возвращает None
# dumps: получаем строку (например, чтобы отправить в API)
payload = json.dumps(data, indent=2)
print(type(payload)) # <class 'str'>
#
ensure_ascii: как сохранить не-ASCII символы без \uXXXXПо умолчанию JSON экранирует всё не-ASCII:
ru = {"first_name": "Алиса", "city": "München"}
print(json.dumps(ru))
# {"first_name": "\u0410\u043b\u0438\u0441\u0430", "city": "M\u00fcnchen"}
print(json.dumps(ru, ensure_ascii=False))
# {"first_name": "Алиса", "city": "München"}В файл — обязательно с кодировкой:
with open("ru.json", "w", encoding="utf-8") as f:
json.dump(ru, f, ensure_ascii=False, indent=2)>
ensure_ascii работает и в dump, и в dumps. Для чтения (load/loads) не нужен.Полезные опции:
*
indent=2 — красиво форматирует.*
separators=(",", ":") — компактный вывод (без пробелов).*
sort_keys=True — ключи по алфавиту (удобно для диффов).Загрузка JSON (и разница load/loads)
import json
# load: из файла
with open("data1.json", "r", encoding="utf-8") as f:
obj = json.load(f)
# loads: из строки
s = '{"ok": true, "n": 3}'
obj2 = json.loads(s)
Мини‑обработка ошибок:
try:
json.loads('{"broken": }')
except json.JSONDecodeError as e:
print(f"Ошибка в строке {e.lineno}, столбце {e.colno}: {e.msg}")
Маленькая практика: забрали данные и сохранили красиво
import json, requests
users = requests.get("https://jsonplaceholder.typicode.com/users").json()
# всё в один файл
with open("users.json", "w", encoding="utf-8") as f:
json.dump(users, f, indent=2, ensure_ascii=False)
# каждый пользователь — в отдельный файл
for u in users:
with open(f"user_{u['id']}.json", "w", encoding="utf-8") as f:
json.dump(u, f, indent=2, ensure_ascii=False)
Важно помнить
*
datetime, Decimal, свои классы — не сериализуются “из коробки”. Нужен default= или предварительная конвертация.* Числа с плавающей точкой — это
float (осторожно с точностью, если нужны деньги — храните как строки/копейки).JSON — это must-have навык для любого Python-разработчика: от парсинга и API-запросов до конфигураций и хранения данных.
#doc #python #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52❤17🔥9🤯1
Внутри:
🐧 Linux (священная ОС всех кодеров).
…и много чего интересного!
Три формата знаний:
Сохраняй, пригодится!
#cheatsheet #github #python #git #linux #db #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍59🔥25❤18
Selenium — инструмент для автоматизации тестирования веб-приложений, который также широко используется для парсинга веб-страниц.
Позволяет автоматизировать взаимодействие с браузером, что делает его полезным для сбора данных с динамических сайтов, где контент генерируется с помощью JavaScript.
Selenium может имитировать действия пользователя, такие как клики, ввод текста, навигация по страницам, что позволяет обходить защиту от ботов и парсить сайты, требующие авторизации.
Часть шпаргалки:
python
# Создание объекта ChromeOptions для дополнительных настроек браузера
options_chrome = webdriver.ChromeOptions()
# Добавление аргумента '--headless' для запуска браузера в фоновом режиме
options_chrome.add_argument('--headless')
# отключает использование графического процессора для рендеринга, что может быть
полезным на машинах с проблемными или отсутствующими графическими драйверами
options_chrome.add_argument('--disable-gpu')
# если вам потребуется запустить браузер в режиме --headless и с расширениями(используются
для модификации поведения браузера)
options_chrome.add_argument('--headless=chrome')
options_chrome.add_extension('coordinates.crx')
# Перенос профиля пользователя из основного браузера Chrome в браузер, управляемый через
Selenium
options_chrome.add_argument('user-data-dir=C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\User
Data')
# запрос через прокси
chrome_options.add_argument('--proxy-server=%s' % proxy)
# Запускает браузер без дополнительных мер безопасности
options.add_argument('--no-sandbox')
...
С тебя лайк, наберем 300 и выложу полную версию в PDF
На постах по 300-500 сохранений. Не жоптесь
#python #cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍423❤32🔥29
[PYTHON:TODAY]
Шпаргалка_по_Selenium_на_русском.pdf
55.4 KB
Внутри:
Всё с примерами и пояснениями — открыл и работаешь!
Спасибо за поддержку!
#python #cheatsheet #doc #soft
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍80🔥16❤9🫡5
Лови шпаргалку по Aiogram на русском, в которой всё разложено от А до Я:
Подходит для:
#python #doc #cheatsheet #soft
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍40❤16🔥11
Forwarded from Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍76🔥25❤5🤯2🫡2😱1
Даже если ты полный ноль, разберёшься — всё написано простыми словами, без занудных формул и лишней воды с множеством примеров и пояснением.
Это твой входной билет в мир хакинга и кибербеза
#soft #pentest #redteam #cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍53❤13🔥11😱1
Представь: сотни сообщений в WhatsApp, лайки и подписки в *Instagram, работающий Telegram-бот, письма с вложениями и даже обработка PDF — и всё это делает не ты, а твой код.
Что ты сможешь:
* Принадлежит корпорации Meta, которая признана в РФ экстремистской.
Это твой шанс освободить время, повысить продуктивность и даже зарабатывать, создавая авто-сценарии для клиентов.
Сохраняй, пригодится!
#python #doc #code
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍53❤17🔥9🤯1
Модуль datetime — твой лучший друг, если нужно работать с датами, временем или таймзонами.
📅 Форматирование дат и времени:
*
%a → короткий день недели (Mon)*
%A → полный день недели (Monday)*
%b → короткий месяц (Jan)*
%B → полный месяц (January)*
%d → день месяца (01–31)*
%m → месяц (01–12)*
%y → год без века (23)*
%Y → год с веком (2023)*
%j → день в году (001–366)*
%H → час (24ч, 00–23)*
%I → час (12ч, 01–12)*
%M → минуты (00–59)*
%S → секунды (00–61, да, 61! 😅)*
%f → микросекунды (000000–999999)*
%p → AM/PM*
%z → UTC-смещение (+0300)*
%Z → таймзона (если есть)*
%U → номер недели (с воскресенья)*
%W → номер недели (с понедельника)*
%x → локальная дата*
%X → локальное время*
%% → просто знак %Примеры:
from datetime import datetime
now = datetime.now()
print(now)
# 2025-09-03 13:41:30.123456
Примеры форматирования даты:
print(now.strftime("%A, %d %B %Y"))
# Wednesday, 03 September 2025
print(now.strftime("%a, %d.%m.%y"))
# Wed, 03.09.25
print(now.strftime("День года: %j"))
# День года: 246Примеры форматирования времени:
print(now.strftime("%H:%M:%S"))
# 12:45:30
print(now.strftime("%I:%M %p"))
# 12:45 PM
print(now.strftime("Микросекунды: %f"))
# Микросекунды: 123456#python #doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍72❤9🔥7
Что, если парсинг — это не только полезный инструмент, но и тёмная сторона Интернета?
В этом материале, основанном на докладе с Saint Highload++, мы заглянем за кулисы: как простые скрипты превращаются в мощное оружие, какие уязвимости сайтов они вскрывают и почему те же приёмы, что помогают аналитике, могут разрушить сервисы.
Это руководство по защите: понимание атаки — первый шаг к её нейтрализации.
#doc #article #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤8🔥8
Сохраняй, чтобы не потерять
### 🔹 Базовые команды Docker
*
docker --version — проверить версию Docker.*
docker info — системная информация.*
docker --help — список доступных команд.*
docker run IMAGE — запустить контейнер из образа.*
docker pull IMAGE — скачать образ из реестра.*
docker images — показать все образы.*
docker ps — список запущенных контейнеров.*
docker ps -a — список всех контейнеров (включая остановленные).*
docker stop CONTAINER — остановить контейнер.*
docker start CONTAINER — запустить контейнер.*
docker restart CONTAINER — перезапустить.*
docker pause / unpause CONTAINER — приостановить/возобновить.*
docker rm CONTAINER — удалить контейнер.*
docker rmi IMAGE — удалить образ.*
docker logs CONTAINER — показать логи контейнера.*
docker exec -it CONTAINER COMMAND — выполнить команду внутри контейнера.*
docker build -t IMAGE:TAG PATH — собрать образ из Dockerfile.*
docker push / pull IMAGE:TAG — отправить/скачать образ в/из реестра.*
docker commit CONTAINER NEW_IMAGE — создать новый образ из контейнера.*
docker network ls — список сетей.*
docker volume ls — список томов.*
docker login / logout — вход/выход из реестра.*
docker run -d IMAGE — запуск в фоне (detached).*
docker run -p HOST:CONTAINER IMAGE — проброс портов.*
docker run -v HOST:CONTAINER IMAGE — подключение тома.*
docker stats — статистика ресурсов контейнера.*
docker top CONTAINER — процессы в контейнере.*
docker inspect CONTAINER/IMAGE — детальная инфа.*
docker cp CONTAINER:PATH DEST — копирование файлов между хостом и контейнером.### 🔹 Docker Compose
*
docker-compose up — поднять сервисы.*
docker-compose down — остановить и удалить.*
docker-compose ps — список контейнеров.*
docker-compose logs — логи сервисов.### 🔹 Система
*
docker system df — использование диска.*
docker system prune — очистка остановленных контейнеров, сетей и «висящих» образов.*
docker system prune -a — полная очистка всего неиспользуемого.### 🔹 Средний уровень
*
docker history IMAGE — история образа.*
docker exec -u USER CONTAINER CMD — запуск от имени пользователя.*
docker run -e KEY=VALUE IMAGE — переменные окружения.*
docker run --rm IMAGE — удалить контейнер после выхода.*
docker build --build-arg KEY=VALUE ... — аргументы сборки.*
docker volume create / inspect — работа с томами.*
docker network create / inspect — создание и проверка сети.*
docker save -o FILE IMAGE — сохранить образ в файл.*
docker load -i FILE — загрузить образ из файла.*
docker export CONTAINER > FILE — экспорт файловой системы.*
docker import FILE — импортировать как образ.### 🔹 Продвинутые команды
*
docker swarm init/join/leave — работа со Swarm.*
docker service create/scale/logs — управление сервисами.*
docker stack deploy/ls/rm — управление стэками.*
docker secret create/ls — секреты.*
docker plugin install/ls/enable/disable — плагины.*
docker buildx — мультиплатформенные образы.*
docker manifest — многоархитектурные образы.*
docker diff CONTAINER — изменения в файловой системе контейнера.*
docker logs -f CONTAINER — логи в реальном времени.#doc #docker #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍58🔥16❤15🫡1
#doc #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28❤7🔥7
Основные характеристики Matplotlib:
линий, цвета, маркеры, метки и аннотации.
#doc #cheatsheet #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38❤14🔥7😱1🫡1
Когда Python-проект разрастается, в нём появляется десятки библиотек. Чтобы не ставить их вручную и не ломать окружение, используется файл requirements.txt — список всех зависимостей проекта.
###
Чтобы сохранить список установленных библиотек, достаточно одной команды:
pip freeze > requirements.txt
requirements.txt.###
Чтобы развернуть проект на другой машине или сервере, выполняем:
pip install -r requirements.txt
Все нужные пакеты установятся автоматически — с нужными версиями.
### 🧩 Формат файла
В
requirements.txt можно указывать версии библиотек по-разному:numpy==1.21.0 # строгая версия
pandas>=1.3.0 # версия не ниже указанной
requests # установится последняя
И не забывай: комментарии начинаются с
#.# Основные зависимости
numpy==1.21.0
pandas>=1.3.0
# Для тестов
pytest
###
Если проект большой — можно разбить зависимости:
# requirements.txt
-r base.txt
-r dev.txt
Так ты отделишь продакшен-зависимости от тех, что нужны только для разработки.
###
Чтобы зафиксировать версии пакетов без прямого указания в основном файле, можно использовать
constraints.txt:pip install -r requirements.txt -c constraints.txt
Пример:
requirements.txt
numpy==1.21.0
pandas
constraints.txt
pandas<=1.3.5
###
Для разных задач — свои зависимости:
requirements-dev.txt # разработка
requirements-test.txt # тесты
requirements-prod.txt # продакшен
Пример:
pip install -r requirements-dev.txt
###
Чтобы подтянуть свежие версии библиотек:
pip install --upgrade -r requirements.txt
###
Всегда изолируй зависимости!
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
pip install -r requirements.txt
###
requirements.txt — твой контроль над проектом.С ним ты избежишь конфликтов библиотек, упростишь деплой и сможешь спокойно разворачивать окружение где угодно.
#python #doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82❤15🔥7🤯2😱1
Forwarded from NetStalkers
PENTESTING-BIBLE — гигантский репозиторий, коллекция из тысяч заметок, гайдов и ресурсов по этичному хакингу и тестированию на проникновение.
Это как личная библиотека старшего специалиста: чеклисты, полезные ссылки, идеи для аудита и заметки из реальной практики.
#pentest #redteam #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍20🔥12❤6😱1
Коротко: в языке появились t-строки, встроенный Zstandard, цветной REPL, «внешний отладчик без оверхеда», мощные апгрейды asyncio и официальная поддержка свободнопоточного Python (no-GIL-сборка).
#python #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🔥29❤18
🎯 Баг Баунти PlayBook. Вливаемся в охоту. Руководство на русском.
«Баг баунти» — это программа, в рамках которой компании привлекают сторонних специалистов («белых хакеров» или «багхантеров») для поиска уязвимостей в своих программных продуктах и системах за денежное вознаграждение.
Такие программы помогают компаниям улучшить кибербезопасность, выявляя и исправляя слабые места до того, как ими воспользуются злоумышленники.
Как это работает:
➡️ Поиск уязвимостей: Участники (багхантеры) ищут ошибки и уязвимости в заявленных системах, веб-сайтах или приложениях.
➡️ Сообщение о находке: Найденные уязвимости подробно описываются и передаются компании.
➡️ Вознаграждение: За каждый обнаруженный баг, который соответствует условиям программы, компания выплачивает вознаграждение. Размер выплаты зависит от серьезности уязвимости.
#doc #pentest #redteam
«Баг баунти» — это программа, в рамках которой компании привлекают сторонних специалистов («белых хакеров» или «багхантеров») для поиска уязвимостей в своих программных продуктах и системах за денежное вознаграждение.
Такие программы помогают компаниям улучшить кибербезопасность, выявляя и исправляя слабые места до того, как ими воспользуются злоумышленники.
Как это работает:
#doc #pentest #redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥7❤5😱1
Знаете синтаксис Python, умеете писать функции и различаете списки от кортежей — это база. Но настоящая магия начинается, когда вы переходите от теории к прикладным задачам: парсинг, API, автоматизация, работа с данными.
5 ключевых библиотек, которые открывают доступ к реальной разработке:
requests, beautifulsoup4, pandas, pyTelegramBotAPI, pillow.
Статья в PDF на русском
#python #article #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥9❤6🤯1