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
sys.argvprovee la ruta del archivo; el mal uso sale con código 1.Countercuenta palabras limpias y en minúsculas.most_common(tope)ordena el reporte; la guarda de main lo ejecuta.
Palabras clave y builtins usados aquí
defforiflenprintraisereturn
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.
Paso 2 de 5 en Bis; paso 69 de 72 en Fundamentos del lenguaje.