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