martes, 12 de octubre de 2010

Script (mejorado y configurable) para contar caracteres de ficheros en Python

Y el definitivo script para contar caracteres en ficheros de texto pasados como parámetro. Ahora, se puede incluir flags, de manera que se puede configurar si se quiere contar caracteres especiales. Así, por ejemplo, si queremos contar los caracteres que un fichero, sin contar los espacios en blanco, simplemente haremos: python script.py fichero.txt -SPACE, donde es el script.py es el fichero que contiene el script y fichero.txt el archivo al cual queremos contar los caracteres.

# Script para contar caracteres en un fichero de texto dado, pasado
# como parámetro. ¡Tercer intento!

import sys

# Declaramos algunas constantes.
FF = '\f' # Form Feed
LF = '\n' # Line Feed
CR = '\r' # Carriage Return
TAB = '\t' # Tabulador
SPACE = ' ' # Blanco

try:
excepcion = 0
lista_excepcion = []
fichero = sys.argv[1]
opciones = sys.argv[2:]
if '-FF' in opciones: lista_excepcion.append(FF)
if '-LF' in opciones: lista_excepcion.append(LF)
if '-CR' in opciones: lista_excepcion.append(CR)
if '-TAB' in opciones: lista_excepcion.append(TAB)
if '-SPACE' in opciones: lista_excepcion.append(SPACE)
f = open(fichero,"r")
caracteres = f.read()
for i in caracteres:
if i in lista_excepcion: excepcion += 1
f.close()
print "El fichero %s tiene %d caracteres" \
%(fichero, len(caracteres) - excepcion)
except: print "Error al abrir el fichero."


Saludos.

No hay comentarios:

Publicar un comentario