typestar

word_freq.py en Python

Una herramienta CLI completa: leer un archivo, contar palabras, imprimir un reporte.

import sys
from collections import Counter
from pathlib import Path


def frecuencias_palabras(texto, tope=10):
    palabras = [w.strip(".,!?;:").lower() for w in texto.split()]
    conteos = Counter(w for w in palabras if w)
    return conteos.most_common(tope)


def principal():
    if len(sys.argv) != 2:
        print("uso: word_freq.py ARCHIVO")
        raise SystemExit(1)
    texto = Path(sys.argv[1]).read_text()
    for palabra, conteo in frecuencias_palabras(texto):
        print(f"{conteo:6d}  {palabra}")


if __name__ == "__main__":
    principal()

Cómo funciona

  1. sys.argv provee la ruta del archivo; el mal uso sale con código 1.
  2. Counter cuenta palabras limpias y en minúsculas.
  3. most_common(tope) ordena el reporte; la guarda de main lo ejecuta.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
22
Caracteres a escribir
511
Tokens
138
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 79 segundos.

Escribe este fragmento

Paso 2 de 5 en Bis; paso 69 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →