Примеры использования модуля os в Python
os.chdir() и os.getcwd()
Функция os.chdir позволяет нам вносить изменения в каталоге, который мы в данный момент используем в сессии.
Если вам нужно знать, какой путь вы в данный момент используете, для этой нужно вызвать os.getcwd(). Указанный код демонстрирует нам, что мы открыли директорию по умолчанию в Пайтоне, после запуска данного кода в IDLE.
После этого мы изменили папки, при помощи os.chdir().
os.chdir() и os.getcwd()
Функция os.chdir позволяет нам вносить изменения в каталоге, который мы в данный момент используем в сессии.
Если вам нужно знать, какой путь вы в данный момент используете, для этой нужно вызвать os.getcwd(). Указанный код демонстрирует нам, что мы открыли директорию по умолчанию в Пайтоне, после запуска данного кода в IDLE.
После этого мы изменили папки, при помощи os.chdir().
Следите за температурой и влажностью в доме с помощью Raspberry Pis и Prometheus.
https://proglib.io/w/d9b18589
https://proglib.io/w/d9b18589
Opensource.com
Monitor your home's temperature and humidity with Raspberry Pis and Prometheus
Data is beautiful. As a #CitizenScientist, I enjoy gathering data and trying to make sense of the world around me.
Как обрабатывать исключения?
Обработка исключений в Пайтон – это очень просто. Потратим немного времени и напишем несколько примеров, которые их вызовут. Мы начнем с одной из самых элементарных проблем: деление на ноль.
Если мы обратимся к урокам элементарной математики, то вспомним, что на ноль делить нельзя. В Пайтоне данная операция вызовет ошибку, как мы можем видеть в примере выше. Чтобы поймать ошибку, мы завернем операцию в оператор try/except.
Обработка исключений в Пайтон – это очень просто. Потратим немного времени и напишем несколько примеров, которые их вызовут. Мы начнем с одной из самых элементарных проблем: деление на ноль.
Если мы обратимся к урокам элементарной математики, то вспомним, что на ноль делить нельзя. В Пайтоне данная операция вызовет ошибку, как мы можем видеть в примере выше. Чтобы поймать ошибку, мы завернем операцию в оператор try/except.
Robust Python: Write Clean and Maintainable Code (2021)
Автор: Patrick Viafore
Количество страниц: 380
Кажется, что ваши проекты Python становятся все больше и больше? Вы чувствуете боль, когда ваша кодовая база расширяется и становится все сложнее отлаживать и поддерживать? Python - это простой язык для изучения и использования, и это также означает, что системы могут быстро вырасти за пределы понимания. К счастью, у Python есть функции, которые помогают разработчикам преодолеть проблемы с поддержкой кода.
Скачать книгу
Автор: Patrick Viafore
Количество страниц: 380
Кажется, что ваши проекты Python становятся все больше и больше? Вы чувствуете боль, когда ваша кодовая база расширяется и становится все сложнее отлаживать и поддерживать? Python - это простой язык для изучения и использования, и это также означает, что системы могут быстро вырасти за пределы понимания. К счастью, у Python есть функции, которые помогают разработчикам преодолеть проблемы с поддержкой кода.
Скачать книгу
Telegram
Книги для программистов (reserved)
Robust Python: Write Clean and Maintainable Code (2021)
Автор: Patrick Viafore
Автор: Patrick Viafore
Класс collections.deque
Класс deque реализует двухконечную очередь, которая поддерживает добавление и удаление элементов с обоих концов в течение О(1) времени.
Объекты deque представлены в виде двусвязных списков, что дает им превосходную производительность для входящих и выходящих элементов, но при этом у него плохая производительность O(n) при работе со случайно принимаемыми элементами в середине очереди.
В связи с тем, что deque поддерживает вставку и удаление элементов одинаково хорошо, они могут поддерживать и очереди и стеки. collections.deque это отличное решение, если вы ищите структуру данных очереди в Python в стандартной библиотеке.
Класс deque реализует двухконечную очередь, которая поддерживает добавление и удаление элементов с обоих концов в течение О(1) времени.
Объекты deque представлены в виде двусвязных списков, что дает им превосходную производительность для входящих и выходящих элементов, но при этом у него плохая производительность O(n) при работе со случайно принимаемыми элементами в середине очереди.
В связи с тем, что deque поддерживает вставку и удаление элементов одинаково хорошо, они могут поддерживать и очереди и стеки. collections.deque это отличное решение, если вы ищите структуру данных очереди в Python в стандартной библиотеке.
Простая обрезка изображения в Pillow
Обозначим область обрезки изображения с помощью кортежа box=(left, upper, right, lower).
Верхней левой координате соответствует (x, y) = (left, upper), а нижней правой — (x, y) = (right, lower). Область, которую нужно обрезать — left <= x <right и upper <= y <lower, а пиксели x = right и y = lower не включаются.
Не забудьте, что box используется вместе со скобками ().
Обозначим область обрезки изображения с помощью кортежа box=(left, upper, right, lower).
Верхней левой координате соответствует (x, y) = (left, upper), а нижней правой — (x, y) = (right, lower). Область, которую нужно обрезать — left <= x <right и upper <= y <lower, а пиксели x = right и y = lower не включаются.
Не забудьте, что box используется вместе со скобками ().
Pythonist - канал-движение питонистов в рунете.
Контент нашего канала:
1. Книги
2. Алгоритмы
3. Тесты по Python
4. Логические задачи
5. Проект Эйлера
6. Django
Контент нашего канала:
1. Книги
2. Алгоритмы
3. Тесты по Python
4. Логические задачи
5. Проект Эйлера
6. Django
Python for SAS Users (2020)
Автор: Randy Betancourt, Sarah Chen
Количество страниц: 451
Пользователи, знакомые с программированием с Base SAS, теперь могут изучать Python на примерах. Описания кода в книге отображают программные конструкции SAS и шаблоны в их эквиваленты на Python. В первую очередь вы сосредоточитесь на pandas и вопросах управления данными, связанных с анализом данных.
Скачать книгу
Автор: Randy Betancourt, Sarah Chen
Количество страниц: 451
Пользователи, знакомые с программированием с Base SAS, теперь могут изучать Python на примерах. Описания кода в книге отображают программные конструкции SAS и шаблоны в их эквиваленты на Python. В первую очередь вы сосредоточитесь на pandas и вопросах управления данными, связанных с анализом данных.
Скачать книгу
Разбираем модуль sys.executable
sys.executable - путь к интерпретатору Python.
Значение sys.executable – это полный путь к интерпретатору Python. Это очень полезно, когда вы используете чей-то компьютер, и вам нужно узнать, где установлен Python. В некоторых системах данная команда не сработает, и выдаст пустую строку с надписью None.
sys.executable - путь к интерпретатору Python.
Значение sys.executable – это полный путь к интерпретатору Python. Это очень полезно, когда вы используете чей-то компьютер, и вам нужно узнать, где установлен Python. В некоторых системах данная команда не сработает, и выдаст пустую строку с надписью None.
Опрос разработчиков Django от 2021 года
Работаете с Django? Фонд программного обеспечения Django хочет услышать ваше мнение!
https://proglib.io/w/e260923e
Работаете с Django? Фонд программного обеспечения Django хочет услышать ваше мнение!
https://proglib.io/w/e260923e
📚 Бесплатный вебинар от Skypro
📈 Аналитик данных — кто такой? Погружаемся в профессию с нуля
• Вы узнаете, кто такие аналитики данных и почему это востребованная профессия
• Поймете, как из любой профессии уйти в аналитику данных — даже если не разбираетесь в математике.
• Потренируетесь работать с Excel, сравните скорость и эффективность работы Excel и SQL на конкретном примере
👊🏻Мощный спикерский состав
📆 Время проведения: суббота, 14 августа в 11:00 по МСК.
🚀 Регистрация по ссылке: https://go.skyeng.ru/data_analytics_1408
📈 Аналитик данных — кто такой? Погружаемся в профессию с нуля
• Вы узнаете, кто такие аналитики данных и почему это востребованная профессия
• Поймете, как из любой профессии уйти в аналитику данных — даже если не разбираетесь в математике.
• Потренируетесь работать с Excel, сравните скорость и эффективность работы Excel и SQL на конкретном примере
👊🏻Мощный спикерский состав
📆 Время проведения: суббота, 14 августа в 11:00 по МСК.
🚀 Регистрация по ссылке: https://go.skyeng.ru/data_analytics_1408
Делаем многоуровневый словарь плоским при помощи собственной рекурсивной функции
Быстрый поиск в Google приводит нас на StackOverflow. Первый же ответ предлагает рекурсивную функцию, которая перебирает словарь и возвращает «уплощенный» экземпляр. Вдохновившись этой функцией, давайте создадим немного более продвинутую версию.
Можем начать с type hinting (явного указания типов). Это улучшит читаемость и сделает код типобезопасным.
Быстрый поиск в Google приводит нас на StackOverflow. Первый же ответ предлагает рекурсивную функцию, которая перебирает словарь и возвращает «уплощенный» экземпляр. Вдохновившись этой функцией, давайте создадим немного более продвинутую версию.
Можем начать с type hinting (явного указания типов). Это улучшит читаемость и сделает код типобезопасным.
Показатели производительности
Мы можем быстро убедиться, что функция действительно возвращает плоский словарь, но как насчет производительности? Будет ли хорошей идеей использовать этот подход в продакшен-среде? Давайте запустим быстрый замер показателей скорости.
Здесь и во всех дальнейших замерах производительности мы будем пользоваться магической функцией IPython — timeit, а также memit из библиотеки memory_profiler.
P.S. Чтобы функция %memit заработала, сперва нужно запустить %load_ext memory_profiler.
Мы можем быстро убедиться, что функция действительно возвращает плоский словарь, но как насчет производительности? Будет ли хорошей идеей использовать этот подход в продакшен-среде? Давайте запустим быстрый замер показателей скорости.
Здесь и во всех дальнейших замерах производительности мы будем пользоваться магической функцией IPython — timeit, а также memit из библиотеки memory_profiler.
P.S. Чтобы функция %memit заработала, сперва нужно запустить %load_ext memory_profiler.