Hoja de referencia de Python
Fragmentos de código de Python frecuentemente necesarios
A veces necesito esto pero no puedo encontrarlo de inmediato.
Así que los mantengo todos aquí.
No son algo nuevo,
solo una serie de copias y pegados,
pero funcionan para mí,
y espero que también te sean útiles.
Comandos comunes de Anaconda
Verificar si Conda está instalado
conda -V
Verificar si Conda está actualizado
conda update conda
Crear un entorno virtual
conda create -n newenvname python=3.12 anaconda
Activar tu entorno virtual
source activate newenvname
Instalar paquetes adicionales de Python en un entorno virtual
conda install -n newenvname [package]
Desactivar tu entorno virtual
source deactivate
Eliminar el entorno virtual
conda remove -n newenvname --all
Dependencias del programa
Instalar dependencias - Usando un archivo de requisitos
En lugar de instalar paquetes individualmente, pip permite declarar todas las dependencias en un Archivo de Requisitos. Por ejemplo, podrías crear un archivo requirements.txt que contenga:
requests==2.18.4
google-auth==1.1.0
Y le dirías a pip que instale todos los paquetes en este archivo usando la bandera -r:
python3 -m pip install -r requirements.txt
Congelar dependencias
Pip puede exportar una lista de todos los paquetes instalados y sus versiones usando el comando freeze:
python3 -m pip freeze
producirá algo como
requests==2.18.4
google-auth==1.1.0
El comando pip freeze es útil para crear Archivos de Requisitos que puedan recrear exactamente las versiones de todos los paquetes instalados en un entorno.
Dibujar un rectángulo
import cv2
cv2.rectangle(img, (x1, y1), (x2, y2), color=(255,0,0), thickness=2)
x1,y1 ------
| |
| |
| |
--------x2,y2
para agregar las preguntas siguientes:
cv2.imwrite("my.png",img)
cv2.imshow("lalala", img)
k = cv2.waitKey(0) # 0==esperar para siempre
Tengo un objeto de imagen PIL y quiero dibujar un rectángulo en esta imagen. Quiero usar opencv2 y dibujar un rectángulo, y luego convertirlo de nuevo a un objeto PIL Image. Así lo hago:
# im es un objeto de imagen PIL
im_arr = np.asarray(im)
# convertir array rgb a formato bgr de opencv
im_arr_bgr = cv2.cvtColor(im_arr, cv2.COLOR_RGB2BGR)
# pts1 y pts2 son las coordenadas superior izquierda y inferior derecha del rectángulo
cv2.rectangle(im_arr_bgr, pts1, pts2,
color=(0, 255, 0), thickness=3)
im_arr = cv2.cvtColor(im_arr_bgr, cv2.COLOR_BGR2RGB)
# convertir de nuevo a objeto Image
im = Image.fromarray(im_arr)
Parseo de argumentos fácil
import json
#---------------------------------------------------------------------------
def do_some_awesomeness(src_file, tgt_file):
print('Convirtiendo algunas cosas de {} a {}'.format(src_file, tgt_file))
#---------------------------------------------------------------------------
def run():
import argparse
parser = argparse.ArgumentParser(description="Algunas herramientas mega útiles y eficientes de Python.")
parser.add_argument("-s", "--src", dest="src_file",
help="nombre del archivo json de entrada")
parser.add_argument("-t", "--tgt", dest="tgt_file",
help="nombre del archivo json de salida")
args = parser.parse_args()
do_some_awesomeness(args.src_file, args.tgt_file)
if __name__ == '__main__':
run()
Luego llámalo así:
python ave_roma.py --src 1.json --tgt 2.json
Cargar y guardar 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)
Obtener el nombre del archivo sin extensión
import os
print(os.path.splitext("/path/to/some/file.txt")[0])
imprimirá:
/path/to/some/file
Enlaces útiles
- Lambda con capas con AWS SAM y Python
- AWS SAM + AWS SQS + Python PowerTools
- PyInstaller Quickstart
- Hoja de trucos de Bash
- Entrenamiento de detector de objetos con MMDetection y Label Studio
- Hoja de trucos de Conda
- Hoja de trucos de venv
- Hoja de trucos de Ollama
- Hoja de trucos de Docker
- MMDetection ya no está soportado
- Generar PDF en Python - Librerías y ejemplos"