Skip to main content

Librería para manipulación avanzada de archivos de texto .txt enfocada para construir y simular una consola (preferiblemente utilizando el comando match de python)

Project description

Librería Tratatez

Librería de Python para manipulación avanzada de archivos de texto (.txt). Enfocada para construir y simular una consola (preferiblemente utilizando el comando match de python)

Descripción

tratatez es una librería completa que proporciona 30 operaciones diferentes para trabajar con archivos de texto, incluyendo operaciones básicas, manipulación de líneas, modificación de caracteres, cifrado y conversión a CSV.

Instalación

Puedes usar la librería copiando la carpeta tratatez a tu proyecto y luego importándola:

from tratatez import tratatez

Uso Básico

La función principal es tratatez(dire, tipe, conte="", line=None, punt=None):

  • dire: Ruta del archivo .txt
  • tipe: Número de operación (0-29)
  • conte: Contenido/texto según la operación
  • line: Número de línea (base 0)
  • punt: Parámetro adicional según la operación

Ejemplos

Operaciones Básicas (Tipos 0-13)

from tratatez import tratatez

# Tipo 1: Crear archivo vacío
tratatez("mi_archivo.txt", 1)

# Tipo 5: Escribir contenido
tratatez("mi_archivo.txt", 5, "Línea 1\nLínea 2\nLínea 3")

# Tipo 7: Leer contenido completo
contenido = tratatez("mi_archivo.txt", 7)
print(contenido)

# Tipo 8: Leer como lista de líneas
lineas = tratatez("mi_archivo.txt", 8)
for i, linea in enumerate(lineas):
    print(f"Línea {i}: {linea}")

# Tipo 9: Leer línea específica
linea_2 = tratatez("mi_archivo.txt", 9, line=2)
print(f"Línea 2: {linea_2}")

# Tipo 10: Reemplazar línea específica
tratatez("mi_archivo.txt", 10, "Nueva línea 1", line=1)

# Tipo 3: Copiar archivo
tratatez("mi_archivo.txt", 3, "copia.txt", punt="./respaldo")

# Tipo 2: Eliminar archivo
tratatez("copia_temporal.txt", 2)

Manipulación de Líneas

# Tipo 6, punt=1: Añadir nueva línea al final
tratatez("mi_archivo.txt", 6, "Nueva línea al final", punt=1)

# Tipo 6, punt=2: Añadir al inicio
tratatez("mi_archivo.txt", 6, "Primera línea", punt=2)

# Tipo 6, punt=3: Insertar debajo de línea específica
tratatez("mi_archivo.txt", 6, "Insertada debajo de línea 1", line=1, punt=3)

# Tipo 13, punt=0: Enumerar líneas
tratatez("mi_archivo.txt", 13, "ITEM_", punt=0)

# Tipo 13, punt=1: Quitar enumeración
tratatez("mi_archivo.txt", 13, punt=1)

Operaciones de Caracteres (Tipos 14-23)

# Tipo 14: Modificar un caracter específico (posición base 1)
tratatez("archivo.txt", 14, "X", line=0, punt=5)  # Cambia posición 5 en línea 0

# Tipo 15: Verificar si línea termina con texto
resultado = tratatez("archivo.txt", 15, ".", line=2)
print(f"¿Termina con punto?: {resultado}")

# Tipo 16: Verificar si línea contiene texto
resultado = tratatez("archivo.txt", 16, "palabra", line=1)
print(f"¿Contiene 'palabra'?: {resultado}")

# Tipo 17: Eliminar último(s) caracter(es)
tratatez("archivo.txt", 17, "1", line=0)  # Elimina 1 caracter
tratatez("archivo.txt", 17, "2", line=1)  # Elimina 2 caracteres

# Tipo 18: Buscar posiciones de subcadena
posiciones = tratatez("archivo.txt", 18, "la", line=0)
print(f"Posiciones de 'la': {posiciones}")

# Tipo 19: Contar tabs o espacios al inicio
tabs = tratatez("archivo.txt", 19, "", line=0, punt=0)  # Contar tabs
espacios = tratatez("archivo.txt", 19, "", line=0, punt=1)  # Contar espacios

# Tipo 20: Poner/quitar tabulador o espacios
tratatez("archivo.txt", 20, "0", line=0, punt=0)  # Poner tab
tratatez("archivo.txt", 20, "1", line=0, punt=0)  # Poner espacio
tratatez("archivo.txt", 20, "0", line=0, punt=1)  # Quitar tab
tratatez("archivo.txt", 20, "1", line=0, punt=1)  # Quitar espacios

# Tipo 21: Quitar espacios al final
tratatez("archivo.txt", 21, "", line=0, punt=0)  # Línea específica
tratatez("archivo.txt", 21, "", line=0, punt=1)  # Todas las líneas

# Tipo 22: Extraer entre delimitadores
# punt: 0:(), 1:[], 2:{}, 3:<>, 4://, 5:¿?, 6:¡!, 7:'', 8:**
texto = tratatez("archivo.txt", 22, "0", line=0, punt=0)  # Entre paréntesis
print(f"Texto entre paréntesis: {texto}")

# Tipo 23: Extraer substring por índices
texto = tratatez("archivo.txt", 23, "5", line=0, punt=10)  # Del índice 5 al 10
print(f"Substring [5:10]: {texto}")

Cifrado y Conversión (Tipos 24, 27-29)

# Tipo 24: Cifrado XOR
# punt=1: Encriptar con XOR
tratatez("archivo.txt", 24, "mi_clave_secreta", punt=1)

# punt=0: Desencriptar con XOR
tratatez("archivo_encriptado.txt", 24, "mi_clave_secreta", punt=0)

# punt=2: Cifrado César
# conte=dirección (1=adelante, 0=atrás), line=desplazamiento
tratatez("archivo.txt", 24, "1", line=3, punt=2)  # César con desp=3, adelante

# Tipo 27: Separar por punto y coma
# punt=0: Todo el archivo
lista_completa = tratatez("archivo.txt", 27, "", punt=0)

# punt=1: Línea específica
lista_linea = tratatez("archivo.txt", 27, "", line=0, punt=1)

# Tipo 28: Unir lista con punto y coma
mi_lista = ["elemento1", "elemento2", "elemento3"]

# punt=0: Añadir al inicio
tratatez("archivo.txt", 28, mi_lista, punt=0)

# punt=1: Reemplazar línea
tratatez("archivo.txt", 28, mi_lista, line=2, punt=1)

# punt=2: Añadir al final
tratatez("archivo.txt", 28, mi_lista, punt=2)

# Tipo 29: Crear CSV desde TXT (delimitado por comas)
tratatez("datos.txt", 29, "")  # Crea datos.csv

Referencia Rápida de Operaciones

Módulo 1 (tratadocu-1.py): Tipos 0-13

  • 0: Mostrar documentación
  • 1: Crear archivo vacío
  • 2: Eliminar archivo
  • 3: Copiar archivo
  • 4: Mover archivo
  • 5: Reemplazar contenido completo
  • 6: Añadir contenido (punt: 0=final línea, 1=nueva línea, 2=inicio, 3=debajo línea)
  • 7: Leer contenido completo
  • 8: Leer como lista de líneas
  • 9: Leer línea específica
  • 10: Reemplazar línea
  • 11: Modificar palabra en línea
  • 12: Añadir texto al final de línea
  • 13: Enumerar/des-enumerar líneas

Módulo 2 (tratadocu-2.py): Tipos 14-23

  • 14: Modificar caracter específico
  • 15: Verificar si línea termina con texto
  • 16: Verificar si línea contiene texto
  • 17: Eliminar último(s) caracter(es)
  • 18: Buscar posiciones de subcadena
  • 19: Contar tabs/espacios al inicio
  • 20: Poner/quitar tabs/espacios al inicio
  • 21: Quitar espacios al final
  • 22: Extraer entre delimitadores
  • 23: Extraer substring por índices

Módulo 3 (tratadocu-3.py): Tipos 24, 27-29

  • 24: Cifrado XOR/César (punt: 0=desc XOR, 1=enc XOR, 2=César)
  • 27: Separar por ';' en lista
  • 28: Unir lista con ';'
  • 29: Crear CSV desde TXT

Notas Importantes

  1. Los números de línea son base 0 (la primera línea es 0)
  2. En tipo 14, las posiciones de caracteres son base 1 (primer caracter es 1)
  3. Los archivos se crean con codificación UTF-8
  4. Algunos tipos requieren que el archivo exista, otros lo crean automáticamente
  5. El tipo 24 con punt=1 (encriptar XOR) solo acepta contenido alfanumérico y espacios

Manejo de Errores

La librería imprime mensajes de error descriptivos y retorna None en caso de error. Siempre verifica el resultado:

contenido = tratatez("archivo.txt", 7)
if contenido is not None:
    print(f"Contenido leído: {contenido}")
else:
    print("Error al leer el archivo")

Licencia

Este proyecto es de uso libre.


Para más detalles sobre cada operación, llama a la función con tipo 0:

tratatez("", 0)

Esto permitirá ver la documentación completa directamente en la consola.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tratatez-1.0.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tratatez-1.0-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file tratatez-1.0.tar.gz.

File metadata

  • Download URL: tratatez-1.0.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tratatez-1.0.tar.gz
Algorithm Hash digest
SHA256 6f21d3bd6710cd062afbe586f2bb4f329893df41533c1bb1270e66c8b6ef8ac3
MD5 14e838ca2a60c42fb6dbf082dc05a554
BLAKE2b-256 5046d9007ac1582d6cded9c54aa72eb387f4a702a3f8c053aededed5504185fd

See more details on using hashes here.

File details

Details for the file tratatez-1.0-py3-none-any.whl.

File metadata

  • Download URL: tratatez-1.0-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tratatez-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6bf31aaa5d0090fc14ab1cac5b9604cd264c9198107cdb496055799203e93210
MD5 26f2b8f04fb218026373546ec0e69e31
BLAKE2b-256 1573879527c0efd70fa706efcf0633955beab0e78da111303ede37e696afa110

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page