Шпаргалка по Python - Полезные фрагменты кода на Python.
Часто используемые фрагменты кода на Python
Иногда это нужно, но найти не сразу. Поэтому держу их все здесь.
Это не что-то новое, просто набор копий-вставок, но они работают для меня, и надеюсь, вам тоже могут пригодиться.
Общие команды Anaconda
Ознакомьтесь с uv - Новый менеджер пакетов, проектов и сред Python
Проверка установки Conda
conda -V
Проверка обновлений Conda
conda update conda
Создание виртуальной среды
conda create -n newenvname python=3.12 anaconda
Активация виртуальной среды
source activate newenvname
Установка дополнительных пакетов Python в виртуальную среду
conda install -n newenvname [package]
Деактивация виртуальной среды
source deactivate
Удаление виртуальной среды
conda remove -n newenvname --all
Зависимости программ
Установка зависимостей - Использование файла требований
Вместо установки пакетов по отдельности, pip позволяет указывать все зависимости в файле требований. Например, можно создать файл requirements.txt, содержащий:
requests==2.18.4
google-auth==1.1.0
И указать pip установить все пакеты из этого файла с помощью флага -r:
python3 -m pip install -r requirements.txt
Заморозка зависимостей
Pip может экспортировать список всех установленных пакетов и их версий с помощью команды freeze:
python3 -m pip freeze
что даст что-то вроде
requests==2.18.4
google-auth==1.1.0
Команда pip freeze полезна для создания файлов требований, которые могут воспроизвести точные версии всех пакетов, установленных в среде.
Рисование прямоугольника
import cv2
cv2.rectangle(img, (x1, y1), (x2, y2), color=(255,0,0), thickness=2)
x1,y1 ------
| |
| |
| |
--------x2,y2
чтобы добавить следующие вопросы ниже:
cv2.imwrite("my.png",img)
cv2.imshow("lalala", img)
k = cv2.waitKey(0) # 0==ожидание навсегда
У меня есть объект PIL Image, и я хочу нарисовать прямоугольник на этом изображении. Я хочу использовать opencv2 и нарисовать прямоугольник, а затем преобразовать обратно в объект PIL Image. Вот как я это делаю:
# im - это объект PIL Image
im_arr = np.asarray(im)
# преобразование rgb массива в формат bgr opencv
im_arr_bgr = cv2.cvtColor(im_arr, cv2.COLOR_RGB2BGR)
# pts1 и pts2 - это координаты верхнего левого и нижнего правого углов прямоугольника
cv2.rectangle(im_arr_bgr, pts1, pts2,
color=(0, 255, 0), thickness=3)
im_arr = cv2.cvtColor(im_arr_bgr, cv2.COLOR_BGR2RGB)
# преобразование обратно в объект Image
im = Image.fromarray(im_arr)
Простое разбор аргументов
import json
#---------------------------------------------------------------------------
def do_some_awesomeness(src_file, tgt_file):
print('Конвертация чего-то из {} в {}'.format(src_file, tgt_file))
#---------------------------------------------------------------------------
def run():
import argparse
parser = argparse.ArgumentParser(description="Некоторые очень полезные и эффективные инструменты Python.")
parser.add_argument("-s", "--src", dest="src_file",
help="имя входного json файла")
parser.add_argument("-t", "--tgt", dest="tgt_file",
help="имя выходного json файла")
args = parser.parse_args()
do_some_awesomeness(args.src_file, args.tgt_file)
if __name__ == '__main__':
run()
Затем вызовите его так
python ave_roma.py --src 1.json --tgt 2.json
Загрузка и сохранение json
import json
def do_convert(src_file, tgt_file):
with open(src_file) as f:
src = json.load(f)
tgt = src # :)
with open(tgt_file, 'w', encoding='utf-8') as f:
json.dump(tgt, f, ensure_ascii=False, indent=4)
Получение имени файла без расширения
import os
print(os.path.splitext("/path/to/some/file.txt")[0])
выведет:
/path/to/some/file
Полезные ссылки
- Многослойные Lambda-функции с AWS SAM и Python
- AWS SAM, AWS SQS и Python PowerTools
- Быстрый старт PyInstaller
- Обучение детектора объектов с MMDetection и Label Studio
- Шпаргалка Conda
- Шпаргалка venv
- Шпаргалка Ollama
- Шпаргалка Docker
- MMdetection больше не поддерживается
- Генерация PDF в Python - библиотеки и примеры