#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Функции. Удаление файла — пошаговое руководство

Рассказываем, как удалять файлы при помощи методов os.remove(), os.rmdir() и shutil.rmtree().

Читать статью

#модули #функции
Forwarded from Gmail Bot
✉️ nixxo <notifications@github.com>
To: ytdl-org/youtube-dl <youtube-dl@noreply.github.com>
CC: Subscribed <subscribed@noreply.github.com>
Re: [ytdl-org/youtube-dl] [rai] improved subtitles extraction (#27705)

*@nixxo* commented on this pull request.
In youtube_dl/extractor/rai.py :
> - subtitle_url = urljoin(url, subtitle_url)
+ def _extract_subtitles(url, video_data):
+
+ def create_sub(url, lang):
STL_EXT = '.stl'
SRT_EXT = '.srt'
- subtitles['it'] = [{
- 'ext': 'stl',
- 'url': subtitle_url,
+ sub = {}
+ sub[lang] = [{
+ 'ext': determine_ext(url),
+ 'url': url,
}]
- if subtitle_url.endswith(STL_EXT):
- srt_url = subtitle_url[:-len(STL_EXT)] + SRT_EXT
- subtitles['it'].append({
+ if url.endswith(STL_EXT):
+ srt_url = url[:-len(STL_EXT)] + SRT_EXT
+ sub[lang].append({
'ext': 'srt',
'url': srt_url,
})
+ return sub
ok, done in e0a179c

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub , or unsubscribe.
Forwarded from Python Academy
Ускоряем код с помощью векторизации

Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.

Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize.

По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.

#vectorize #numpy
Forwarded from Python Academy
Not a Number

В модуле math есть особый объект, который называется NaN (Not a Number).

Эти объекты NaN не уникальны, и даже не равны самим себе, так что вы можете иметь несколько подобных объектов, взятых из нескольких разных источников.

Например можно создать подобный объект, просто передав строку 'nan' во float. Кстати говоря, это значит что вы можете использовать NaN в качестве ключа в словаре (хотя мы и не советуем это делать).

#nan #tips
Forwarded from Python Academy
Вычисляем размер объектов в памяти

Чтобы вычислить размер какого-либо объекта, можно воспользоваться функцией sys.getsizeof(object[, default]). Поскольку Python написан в полном соответствии с парадигмой ООП, таким объектом может быть все что угодно.

Однако, следует помнить, что хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.

Аргумент default позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError .

Функция getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора, если конечно объект управляется сборщиком мусора.

#sys #sizeof #oop
Forwarded from Python Academy
Добавляем классу большую функциональность

Декоратор @classmethod — это метод, который получает класс в качестве параметра, который принято обозначать как cls. Он указывает на класс ToyClass, а не на объект этого класса.

Методы класса привязаны к самому классу, а не его экземпляру. Они могут менять состояние класса, что отразится на всех объектах этого класса, но не могут менять конкретный объект.

Проще говоря, @classmethod — это обычный метод класса, имеющий доступ ко всем атрибутам класса, через который он был вызван.

#oop #classmethod
Forwarded from Python Academy
Тестирование на pytest

pytest — ближе по духу к языку Python нежели unittest, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.

Но при разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.

Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.

#тестирование #pytest #assert
🐍 Топ-20 бесплатных ресурсов для изучения Python: сохрани это в закладки

Изучить программирование на Python можно по бесплатным ресурсам, которые позволят вам стать востребованным программистом. Предлагаем вашему вниманию подборку русскоязычных и англоязычных сайтов для изучения популярного языка программирования.

https://proglib.io/sh/qn2VEY8FTW
Книги по Python - канал, где вы можете скачать в два клика книги для изучения Python.

Все книги 2015-2020 годов.
Много русских книг.

Подписывайтесь: @pythonknigi
Forwarded from Python Academy
Создание и использование виртуальной среды

virtualenv — инструмент для создания изолированных сред Python. Программа создает папку, которая содержит все необходимые исполняемые файлы для использования пакетов, необходимых для проекта.

Создание новой виртуальной среды требуется только один раз для каждого проекта, для которого вы хотите изолировать зависимости:
python3 -m venv venv

Это создаст папку venv, содержащую оснастку сценариев и копию python самого двоичного файла. Название папки не имеет значения.

Чтобы активировать виртуальную среду, нужно запустить activate файл: source venv/bin/activate и далее мы можем свободно устанавливать любые зависимости, которые никак не скажутся на работе в будущих проектах.

#virtualenv
Forwarded from Python Academy
Тестирование на pytest

pytest — ближе по духу к языку Python нежели unittest, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.

Но при разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.

Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.

#тестирование #pytest #assert
Forwarded from Python Academy
Многопоточность

В модуле threading новый поток выполнения может начинаться с нового threading.Thread и присвоения ему функции для выполнения.

Параметр target ссылается на функцию (или вызываемый объект), который будет работать. Нить не начнет выполнение до start, также не будет вызываться Thread объекта.

Когда my_thread завершается, вызов start выкинет исключение RuntimeError. Если вы хотите запустить Thread в фоновом режиме, то передавайте daemon=True или установите my_thread.daemon в True перед вызовом start().

#потоки #многопоточность
#вопрос77

Как работает "Преобразование строк в дату со временем" в Python?
Pythonist - канал и сайт, с переведенным с английских ресурсов контентом

Что у нас есть:
1. тесты, алгоритмы с кодом, разбор рекурсии, lambda функции
2. строки, списки и другие базовые типы данных питона.
3. django
4. задачи с кодом, проект эйлера, логические задачи

Весь контент пишется 3-мя разработчиками. Смотрите сами у нас на сайте - pythonist.ru
📊 Туториал: визуализация данных в вебе с помощью Python и Dash

В этом руководстве мы рассмотрим, как с помощью Python и библиотеки Dash создать, оформить и опубликовать на хостинге интерактивное веб-приложение с результатами анализа данных.

https://proglib.io/sh/3GmWbj7zMH