
- Главная
- Каталог
- Интернет технологии
- Python Ready | Программирование
Python Ready | Программирование
Авторский канал по разработке на Python.
Статистика канала
json, входящий в поставку языка.
Импорт модуля:
import json{}
Предположим, имеется файл users.json со следующим содержимым:
[
{"id": 1, "name": "Ivan Ivanov", "email": "ivan@test.com", "active": true},
{"id": 2, "name": "Anna Petrova", "email": "anna@test.com", "active": false}
]{}
Откроем файл и загрузим данные:
with open("users.json", encoding="utf-8") as file:
data = json.load(file){}
В результате будет получен список словарей, где значения true и false автоматически преобразуются в True и False.
Проверим загруженные данные:
print(data){}
Обработаем данные — отфильтруем активных пользователей:
active_users = [
user for user in data
if user.get("active", False)
]{}
Выведем результат:
for user in active_users:
print(user["name"], user["email"]){}
Сохраним отфильтрованные данные в новый JSON-файл:
with open("active_users.json", "w", encoding="utf-8") as file:
json.dump(
active_users,
file,
ensure_ascii=False,
indent=2
){}
В результате будет сформирован JSON-файл, содержащий только активных пользователей.
.close(), но они не являются контекстными менеджерами, их всё равно можно безопасно обернуть, без try/finally.
Python даёт для этого contextlib.closing:
from contextlib import closing
from urllib.request import urlopen{}
Открываем ресурс и гарантируем закрытие:
with closing(urlopen("https://example.com")) as r:
print(r.status){}
Это заменяет ручную очистку:
r = urlopen("https://example.com")
try:
print(r.status)
finally:
r.close(){}
close() — closing() превращает это в безопасный и линейный код.
a, b = b, a позволяет поменять значения переменных местами, а s[::-1] — развернуть строку без циклов.
На картинке — 10 полезных Python one-liners, которые часто выручают в повседневной разработке: строки, списки, словари, простые проверки и базовые операции.
Сохрани, чтобы не забыть!
sqlite3.
Подключаемся к базе данных (если файла нет — он будет создан автоматически) и используем контекстный менеджер.
При нормальном выходе он выполнит commit, а при исключении — rollback, после чего корректно закроет соединение:
import sqlite3
with sqlite3.connect("users.db") as conn:
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER
)
"""){}
Добавим данные:
users = [
("Alice", 30),
("Bob", 25),
("Charlie", 35)
]
cursor.executemany(
"INSERT INTO users (name, age) VALUES (?, ?)",
users
){}
? — плейсхолдер параметров в SQL-запросе. Он обеспечивает безопасную передачу значений в запрос и защищает от SQL-инъекций при работе с данными.
Чтение данных:
cursor.execute("SELECT id, name, age FROM users")
for row in cursor.fetchall():
print(row){}
Обновление и удаление записей — стандартные CRUD-операции с использованием параметризованных SQL-запросов:
cursor.execute(
"UPDATE users SET age = ? WHERE name = ?",
(31, "Alice")
)
cursor.execute(
"DELETE FROM users WHERE name = ?",
("Bob",)
){}
SQLite — отличный инструмент для практики SQL, хранения конфигураций, кэша и небольших объёмов данных.
traceback при ошибках, включая segfault, stack overflow и abort:
faulthandler.enable(){}
По умолчанию он пишет стек в stderr в момент падения интерпретатора, то есть вы получаете информацию после креша, а не до него:
# работает даже при segmentation fault{}
Можно принудительно напечатать стек всех потоков в любой момент выполнения:
faulthandler.dump_traceback(all_threads=True){}
А если нужно сохранять стек в файл (например, на сервере без доступа к stdout), вывод легко перенаправляется:
faulthandler.enable(open("crash.log", "w")){}
Отзывы канала
Каталог Телеграм-каналов для нативных размещений
Python Ready | Программирование — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 29.9K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 20.0, количество отзывов – 0, со средней оценкой 0.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 4195.8 ₽, а за 13 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий