Hoja de referencia de Python - Fragmentos útiles de código en Python.
Fragmentos de código de Python frecuentemente necesarios
A veces necesito esto pero no puedo encontrarlo inmediatamente.
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 puedan resultarte útiles.
Comandos comunes de Anaconda
Echa un vistazo al uv - Nuevo gestor de paquetes, proyectos y entornos de Python
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 luego le dirías a pip que instale todos los paquetes de 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 para dibujar el 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 e 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 de imagen
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 muy ú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 y Python PowerTools
- PyInstaller Quickstart
- Entrenamiento de detector de objetos con MMDetection y Label Studio
- Conda Cheatsheet
- venv Cheatsheet
- Ollama cheatsheet
- Docker Cheatsheet
- MMdetection ya no está soportado
- Generar PDF en Python - Librerías y ejemplos"