Превращаем PDF в текст
Думаю, все периодически работают с PDF-документами. И зачастую это ручная и скучная работа. Но Python может автоматизировать даже такую рутинную задачу.
Модуль pdftotext создан именно для работы с документами в PDF формате. Устанавливается он через пакетный менеджер pip, а использовать его проще простого. Все основные операции представлены на картинке выше.
Кстати, здесь ещё интересно то, что исходный код модуля написан на C++. Поэтому есть небольшая вероятность, что придётся повоевать с зависимостями.
🐍 @SimplePython #pdf #pdftotext
Думаю, все периодически работают с PDF-документами. И зачастую это ручная и скучная работа. Но Python может автоматизировать даже такую рутинную задачу.
Модуль pdftotext создан именно для работы с документами в PDF формате. Устанавливается он через пакетный менеджер pip, а использовать его проще простого. Все основные операции представлены на картинке выше.
Кстати, здесь ещё интересно то, что исходный код модуля написан на C++. Поэтому есть небольшая вероятность, что придётся повоевать с зависимостями.
🐍 @SimplePython #pdf #pdftotext
Ищем опечатки
Пакет spellchecker позволяет отыскать ошибки в тексте, а также может предложить варианты исправлений. В примере проходимся по списку из двух слов, из которых одно ('therre') написано с опечаткой. Функция correction замечает это и предлагает одно самое вероятное исправление, а candidates — несколько.
Пакет поддерживает шесть языков.
🐍 @SimplePython #spellchecker
Пакет spellchecker позволяет отыскать ошибки в тексте, а также может предложить варианты исправлений. В примере проходимся по списку из двух слов, из которых одно ('therre') написано с опечаткой. Функция correction замечает это и предлагает одно самое вероятное исправление, а candidates — несколько.
Пакет поддерживает шесть языков.
🐍 @SimplePython #spellchecker
Символы Юникода
Добавлять юникод-символы в строковые литералы можно не только с помощью их номеров, но и по их названиям.
Более того, такая запись символов юникода совместима и с f-строками, а это очень удобно.
🐍 @SimplePython #strings #unicode
Добавлять юникод-символы в строковые литералы можно не только с помощью их номеров, но и по их названиям.
Более того, такая запись символов юникода совместима и с f-строками, а это очень удобно.
🐍 @SimplePython #strings #unicode
Получаем и задаем лимит рекурсии
В Python не оптимизируется хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов.
Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Хотя делать это слегка опасно, так как каждый новый вызов занимает много памяти.
И вообще лучше стараться использовать не рекурсию, а обычные циклы, но это вы и так сами знаете.
🐍 @SimplePython #recursion #limits
В Python не оптимизируется хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов.
Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Хотя делать это слегка опасно, так как каждый новый вызов занимает много памяти.
И вообще лучше стараться использовать не рекурсию, а обычные циклы, но это вы и так сами знаете.
🐍 @SimplePython #recursion #limits
Метод items()
Метод Dictionary items() возвращает итератор типа dict_items. Вы можете перебирать каждый ключ:значение в словаре. Также тип dict_items поддерживает динамическое обновление словаря.
🐍 @SimplePython #items #dict
Метод Dictionary items() возвращает итератор типа dict_items. Вы можете перебирать каждый ключ:значение в словаре. Также тип dict_items поддерживает динамическое обновление словаря.
🐍 @SimplePython #items #dict
Библиотека Progressbar
Да, да, эта библиотека делает именно то, о чём вы подумали — выводит прогрессбар.
🐍 @SimplePython #progressbar
Да, да, эта библиотека делает именно то, о чём вы подумали — выводит прогрессбар.
🐍 @SimplePython #progressbar
👍2🔥1
3D визуализация на Python
Vpython — относительно простая библиотека для демонстрации физических явлений. В примере создаём вращающийся куб.
В начале программы создаём сам куб, задавая параметры, сохраняем его в переменную, а затем для вращения создаём бесконечный цикл. Документация:
https://www.glowscript.org/docs/VPythonDocs/index.html
🐍 @SimplePython #vpython #3d
Vpython — относительно простая библиотека для демонстрации физических явлений. В примере создаём вращающийся куб.
В начале программы создаём сам куб, задавая параметры, сохраняем его в переменную, а затем для вращения создаём бесконечный цикл. Документация:
https://www.glowscript.org/docs/VPythonDocs/index.html
🐍 @SimplePython #vpython #3d
🔥2👍1
Метод str.endswith()
Метод str.endswith() возвращает True, если строка str заканчивается указанным суффиксом suffix, в противном случае возвращает False.
Параметры:
suffix - объект поддерживающий итерацию (кортеж, символ или подстрока).
start - int, индекс начала поиска, по умолчанию 0, необязательно.
end - int, индекс конца поиска, по умолчанию len(str), необязательно.
🐍 @SimplePython #str #endswith
Метод str.endswith() возвращает True, если строка str заканчивается указанным суффиксом suffix, в противном случае возвращает False.
Параметры:
suffix - объект поддерживающий итерацию (кортеж, символ или подстрока).
start - int, индекс начала поиска, по умолчанию 0, необязательно.
end - int, индекс конца поиска, по умолчанию len(str), необязательно.
🐍 @SimplePython #str #endswith
Изменение размера изображения
Чтобы изменить размер изображения с помощью Pillow, вы можете использовать метод resize() класса PIL.Image.Image.
В следующем примере мы прочитаем изображение и изменим его размер до (200, 200).
🐍 @SimplePython #PIL #image
Чтобы изменить размер изображения с помощью Pillow, вы можете использовать метод resize() класса PIL.Image.Image.
В следующем примере мы прочитаем изображение и изменим его размер до (200, 200).
🐍 @SimplePython #PIL #image
pass
Оператор используется в качестве заглушки, в местах программы, где ничего не происходит. В примере на картинке есть цикл и функция, которые ничего не делают, и конструкция try-except, при возникновении ошибки в которой ничего не происходит.
🐍 @SimplePython #pass
Оператор используется в качестве заглушки, в местах программы, где ничего не происходит. В примере на картинке есть цикл и функция, которые ничего не делают, и конструкция try-except, при возникновении ошибки в которой ничего не происходит.
🐍 @SimplePython #pass
Сборка словаря
В примере показано, как сгруппировать два массива в один словарь. При этом работать можно с любыми типами данных.
🐍 @SimplePython #list #dict
В примере показано, как сгруппировать два массива в один словарь. При этом работать можно с любыми типами данных.
🐍 @SimplePython #list #dict
👍1
Разница между двумя массивами
Выше представлена функция, которая возвращает разницу между двумя массивами. Создает set из b и сохраняет только те значения, которые не содержатся в b.
🐍 @SimplePython #dict #differ
Выше представлена функция, которая возвращает разницу между двумя массивами. Создает set из b и сохраняет только те значения, которые не содержатся в b.
🐍 @SimplePython #dict #differ
👍1
Метод Counter.most_common()
Возвращает список из n наиболее распространенных элементов и их количество от наиболее распространенных до наименее. Если n опущено или None, метод cnt.most_common() возвращает все элементы в счетчике.
Элементы с равным количеством упорядочены в порядке, в котором они встречаются первыми.
🐍 @SimplePython #Counter #most_common
Возвращает список из n наиболее распространенных элементов и их количество от наиболее распространенных до наименее. Если n опущено или None, метод cnt.most_common() возвращает все элементы в счетчике.
Элементы с равным количеством упорядочены в порядке, в котором они встречаются первыми.
🐍 @SimplePython #Counter #most_common
👍2
Проверка четности или нечетности числа без использования оператора %
Хотя этот трюк не намного лучше, чем использование оператора %, но иногда он эффективен (с большими числами).
Рассмотрим пару примеров:
k = 3
Двоичный: «11 & 1» будет 001, поэтому число нечетное
k = 4
Двоичный: «100 & 1» будет 000, поэтому число четное.
🐍 @SimplePython #odd
Хотя этот трюк не намного лучше, чем использование оператора %, но иногда он эффективен (с большими числами).
Рассмотрим пару примеров:
k = 3
Двоичный: «11 & 1» будет 001, поэтому число нечетное
k = 4
Двоичный: «100 & 1» будет 000, поэтому число четное.
🐍 @SimplePython #odd
👍1
Метод count()
Метод count() возвращает количество раз, когда указанный элемент появляется в последовательности.
🐍 @SimplePython #count
Метод count() возвращает количество раз, когда указанный элемент появляется в последовательности.
🐍 @SimplePython #count
Конвертируем из JPG в PNG с помощью Pillow
Для конвертации нам понадобится открыть изображение и просто сохранить его в другом формате.
PNG-формат идеально подходит для фотографий, и при этом позволяет сохранить даже лучшее качество снимков, чем JPG. PNG также поддерживает прозрачность, поэтому это почти идеальный вариант для дизайнеров, которым нужны прозрачные элементы.
🐍 @SimplePython #Pillow #convert
Для конвертации нам понадобится открыть изображение и просто сохранить его в другом формате.
PNG-формат идеально подходит для фотографий, и при этом позволяет сохранить даже лучшее качество снимков, чем JPG. PNG также поддерживает прозрачность, поэтому это почти идеальный вариант для дизайнеров, которым нужны прозрачные элементы.
🐍 @SimplePython #Pillow #convert
FastAPI
FastAPI – фреймворк, про который однозначно стоит рассказать. Честно, синтаксис мне кажется намного приятнее, чем у других фреймворков.
Интересно, что автор фреймворка глубоко изучил несколько других фреймворков, от классических, таких как Django, до более современных, таких как Sanic, а также изучил различные технологии в NestJS (веб-фреймворк Node.js, Typescript).
Фреймворк имеет важную особенность – автоматическая генерация документации: как только ваши конечные точки будут реализованы, вы сможете поиграться с API, используя соответствующий стандартам пользовательский интерфейс. Поддерживаются SwaggerUI, ReDoc и другие.
FastAPI построен на удивительной библиотеке Starlette, в результате чего производительность сравнима с Node.js, а в некоторых случаях даже Go! В целом, складывается стойкое предчувствие, что FastAPI будет мчаться вперёд как лучший асинхронный фреймворк для Python.
🐍 @SimplePython #fastapi #framework
FastAPI – фреймворк, про который однозначно стоит рассказать. Честно, синтаксис мне кажется намного приятнее, чем у других фреймворков.
Интересно, что автор фреймворка глубоко изучил несколько других фреймворков, от классических, таких как Django, до более современных, таких как Sanic, а также изучил различные технологии в NestJS (веб-фреймворк Node.js, Typescript).
Фреймворк имеет важную особенность – автоматическая генерация документации: как только ваши конечные точки будут реализованы, вы сможете поиграться с API, используя соответствующий стандартам пользовательский интерфейс. Поддерживаются SwaggerUI, ReDoc и другие.
FastAPI построен на удивительной библиотеке Starlette, в результате чего производительность сравнима с Node.js, а в некоторых случаях даже Go! В целом, складывается стойкое предчувствие, что FastAPI будет мчаться вперёд как лучший асинхронный фреймворк для Python.
🐍 @SimplePython #fastapi #framework
Обрезаем видео в Python
MoviePy — это модуль Python для редактирования видео, который можно использовать для основных операций с видео и GIF.
Установка пакета - pip install moviepy.
Подробнее с данным примером можно ознакомиться здесь.
🐍 @SimplePython #moviepy #crop
MoviePy — это модуль Python для редактирования видео, который можно использовать для основных операций с видео и GIF.
Установка пакета - pip install moviepy.
Подробнее с данным примером можно ознакомиться здесь.
🐍 @SimplePython #moviepy #crop
Метод partition()
Метод partition() разбивает строку по заданной подстроке. После этого результат возвращается в виде кортежа. При этом подстрока, по которой осуществлялась разбивка, тоже входит в кортеж.
🐍 @SimplePython #partition
Метод partition() разбивает строку по заданной подстроке. После этого результат возвращается в виде кортежа. При этом подстрока, по которой осуществлялась разбивка, тоже входит в кортеж.
🐍 @SimplePython #partition