📁 Проверяем, существует ли файл
Часто в программах нужно проверить, существует ли файл перед его использованием. Новички могут пробовать открывать файл и ловить исключения, но Python предлагает более элегантный способ через os.path.
Функция os.path.exists() проверяет наличие файла или директории по заданному пути. Это безопасный и читаемый способ убедиться, что нужный файл действительно есть перед его использованием.
🎯 Итог
С помощью os.path.exists() можно легко и безопасно проверять существование файлов, избегая лишних ошибок при открытии несуществующих путей.
Часто в программах нужно проверить, существует ли файл перед его использованием. Новички могут пробовать открывать файл и ловить исключения, но Python предлагает более элегантный способ через os.path.
Функция os.path.exists() проверяет наличие файла или директории по заданному пути. Это безопасный и читаемый способ убедиться, что нужный файл действительно есть перед его использованием.
🎯 Итог
С помощью os.path.exists() можно легко и безопасно проверять существование файлов, избегая лишних ошибок при открытии несуществующих путей.
☁️ Работаем с переменными окружения в Python
Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через os.environ.
Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).
🎯 Итог
Используйте os.environ.get() для безопасного доступа к переменным окружения — это защищает ваш код от утечек данных и упрощает настройку.
Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через os.environ.
Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).
🎯 Итог
Используйте os.environ.get() для безопасного доступа к переменным окружения — это защищает ваш код от утечек данных и упрощает настройку.
📁 Получаем список файлов в папке
При работе с файлами часто нужно получить список всех файлов в директории. Новички могут пробовать вручную проверять содержимое папки, но Python предлагает простой способ — с помощью модуля os.
Модуль os позволяет получить список файлов и папок в директории, а также фильтровать только нужные элементы.
🎯 Итог
Модуль os позволяет удобно получить список всех файлов в папке. Используйте os.listdir() вместе с os.path.isfile() для фильтрации только файлов.
При работе с файлами часто нужно получить список всех файлов в директории. Новички могут пробовать вручную проверять содержимое папки, но Python предлагает простой способ — с помощью модуля os.
Модуль os позволяет получить список файлов и папок в директории, а также фильтровать только нужные элементы.
🎯 Итог
Модуль os позволяет удобно получить список всех файлов в папке. Используйте os.listdir() вместе с os.path.isfile() для фильтрации только файлов.
⏱️ Измеряем время выполнения кода
Иногда нужно узнать, сколько времени занимает выполнение части кода — например, для оценки производительности. Новички могут не знать, как это сделать просто, но в Python есть встроенный модуль time.
С помощью time.time() можно получить текущую временную метку в секундах и легко измерить длительность выполнения любого блока.
🎯 Итог
Модуль time позволяет просто измерить время выполнения кода. Используйте time.time() до и после нужного блока и вычтите значения.
Иногда нужно узнать, сколько времени занимает выполнение части кода — например, для оценки производительности. Новички могут не знать, как это сделать просто, но в Python есть встроенный модуль time.
С помощью time.time() можно получить текущую временную метку в секундах и легко измерить длительность выполнения любого блока.
🎯 Итог
Модуль time позволяет просто измерить время выполнения кода. Используйте time.time() до и после нужного блока и вычтите значения.
✨ Получаем размер файла в байтах
Иногда нужно узнать, сколько весит файл — например, перед загрузкой или отправкой по сети. Новички могут не знать, как это сделать быстро и просто.
Python предоставляет удобный способ с помощью функции os.path.getsize().
🎯 Итог
Используйте os.path.getsize(path), чтобы легко получить размер файла в байтах. Удобно для логирования, проверки ограничений и статистики.
Иногда нужно узнать, сколько весит файл — например, перед загрузкой или отправкой по сети. Новички могут не знать, как это сделать быстро и просто.
Python предоставляет удобный способ с помощью функции os.path.getsize().
🎯 Итог
Используйте os.path.getsize(path), чтобы легко получить размер файла в байтах. Удобно для логирования, проверки ограничений и статистики.
Получаем количество строк без загрузки всех данных
Новички часто загружают все строки из таблицы и считают их вручную, что может быть медленно и неэффективно. Гораздо лучше использовать встроенные возможности SQL для подсчёта строк прямо на стороне базы данных.
🎯 Итог
Вместо перебора всех записей в Python используй SQL-запрос COUNT(*). Это быстрый и надёжный способ узнать количество строк, особенно на больших таблицах.
Новички часто загружают все строки из таблицы и считают их вручную, что может быть медленно и неэффективно. Гораздо лучше использовать встроенные возможности SQL для подсчёта строк прямо на стороне базы данных.
🎯 Итог
Вместо перебора всех записей в Python используй SQL-запрос COUNT(*). Это быстрый и надёжный способ узнать количество строк, особенно на больших таблицах.
Используем контекстный менеджер для безопасной работы с БД
Многие новички забывают закрывать соединения с базой данных, что может привести к утечкам ресурсов и блокировкам. Контекстный менеджер (with) упрощает работу с базой и автоматически закрывает соединение даже при ошибках.
🎯 Итог
Используй with при работе с базой данных — это гарантирует автоматическое закрытие соединения и делает код надёжнее и чище.
Многие новички забывают закрывать соединения с базой данных, что может привести к утечкам ресурсов и блокировкам. Контекстный менеджер (with) упрощает работу с базой и автоматически закрывает соединение даже при ошибках.
🎯 Итог
Используй with при работе с базой данных — это гарантирует автоматическое закрытие соединения и делает код надёжнее и чище.
Проверка кода теперь на AI
На конференции ЦИПР-2025 СберТех представил GigaCode-агента — новый AI-инструмент для рецензирования кода. Он автоматически анализирует изменения в коде, ищет ошибки и уязвимости, а еще дает советы по оптимизации. Это уже не просто AI-помощник — это полноценный участник команды!
Агент может объяснять правки в режиме диалога или же проверять запросы на слияние автоматически. Это помогает сократить время на рутинный код-ревью, бороться с багами и сосредоточиться на более сложных задачах.
Инструмент доступен бесплатно всем пользователям GitVerse, от одиночных разработчиков до команд.
Испытайте агента в деле по ссылке и отдайте скучную рутину AI!
На конференции ЦИПР-2025 СберТех представил GigaCode-агента — новый AI-инструмент для рецензирования кода. Он автоматически анализирует изменения в коде, ищет ошибки и уязвимости, а еще дает советы по оптимизации. Это уже не просто AI-помощник — это полноценный участник команды!
Агент может объяснять правки в режиме диалога или же проверять запросы на слияние автоматически. Это помогает сократить время на рутинный код-ревью, бороться с багами и сосредоточиться на более сложных задачах.
Инструмент доступен бесплатно всем пользователям GitVerse, от одиночных разработчиков до команд.
Испытайте агента в деле по ссылке и отдайте скучную рутину AI!
🧠 Переопределение стандартного поведения функций через декоратор
Иногда хочется обернуть функцию, чтобы автоматически логировать её вызов или измерять время исполнения. Это удобно делать через декоратор.
🎯 Итог
Декораторы позволяют добавлять поведение к функциям, не изменяя их напрямую. Это мощный инструмент для логирования, кэширования, авторизации и прочих нужд.
Иногда хочется обернуть функцию, чтобы автоматически логировать её вызов или измерять время исполнения. Это удобно делать через декоратор.
🎯 Итог
Декораторы позволяют добавлять поведение к функциям, не изменяя их напрямую. Это мощный инструмент для логирования, кэширования, авторизации и прочих нужд.
Общий сбор питонистов на митапе ЮMoney ™️
Питоняшки — бесплатный митап ЮMoney для Python-разработчиков.
✅ 3 июля, в четверг, в 19:00 (мск) — приходите на митап в Санкт-Петербурге или подключайтесь онлайн.
О чём будут доклады?
🟣 Это не те метрики, что вы ищете. Разберёмся, почему стандартного экспортёра может не хватать, и как написать свой на Python.
🟣 Кодогенерация: как компьютеры учатся писать код за нас. Поговорим про прошлое, настоящее и будущее кодогенерации в разных языках программирования.
🟣 Ruff: как не положить всё, переходя на новые правила? Поговорим про линтеры, форматтеры и подводные камни при переходе на Ruff.
🟣 Секреты успеха змеи в мире пауков. Обсудим, как мы применяли scrapy и playwright в ЮMoney, чтобы создать сервис модерации сайтов.
Зарегистрируйтесь, чтобы принять участие. Все подробности — на сайте митапа Питоняшки🔥
Питоняшки — бесплатный митап ЮMoney для Python-разработчиков.
О чём будут доклады?
Зарегистрируйтесь, чтобы принять участие. Все подробности — на сайте митапа Питоняшки
Please open Telegram to view this post
VIEW IN TELEGRAM
🗂 Быстрое создание вложенных словарей с defaultdict
Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.
📌 Это особенно удобно при подсчёте данных или построении динамических структур.
🎯 Итог
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.
Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.
📌 Это особенно удобно при подсчёте данных или построении динамических структур.
🎯 Итог
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.