Python - devuelva el número de caracteres total de un ficheros

 
Vista:
Imágen de perfil de angel

devuelva el número de caracteres total de un ficheros

Publicado por angel (29 intervenciones) el 10/11/2016 19:22:34
como puedo hacer en un programa reciba el nombre de un fichero (ruta relativa al directorio actual) como parámetro, y que devuelva el número de caracteres total, y el número total de palabras.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de angel

devuelva el número de caracteres total de un ficheros

Publicado por angel (29 intervenciones) el 10/11/2016 22:32:46
tengo es codigo

1
2
3
4
5
import re
archivo = open('text.txt', 'r')
for linea in file.readlines():
    if re.search('^hola$', linea, re.I):
        print linea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

devuelva el número de caracteres total de un ficheros

Publicado por kip (257 intervenciones) el 11/11/2016 15:36:33
Hola, he creado un codigo haciendo uso de expresiones regulares para ayudarte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import re
 
def countChars(fitxer):
    f = open(fitxer,"r")
    text = f.readlines()
    f.close()
    cont = 0
    for lines in text:
        found = re.findall("(\S)", lines.strip())
        if found:
           cont += len(found)
    if cont > 1:
        return "El archivo tiene %s caracteres" % cont
    elif cont == 0:
        return "El archivo esta vacio"
    else:
        return "El archivo tiene %s caracter" % cont
 
print (countChars("archivo.txt"))

http://www.lawebdelprogramador.com/codigo/Python/3746-Numero-de-caracteres-en-un-archivo-de-texto.html

Ten en cuenta que no tomo ni saltos de linea ni espacios.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

devuelva el número de caracteres total de un ficheros

Publicado por xve (1646 intervenciones) el 10/11/2016 23:40:20
Hola Angel, haber si te sirve esto:

1
2
3
4
archivo="la casa azul.txt"
 
print "la longitud es de: ",len(archivo)
print "contiene ",len(archivo.split())," palabras"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de angel

devuelva el número de caracteres total de un ficheros

Publicado por angel (29 intervenciones) el 11/11/2016 00:22:13
me da error porque len no pertenece a archivo me da este error

AttributeError: '_io.TextIOWrapper' object has no attribute 'len'

yo tbm pense asi pero no, tiene q haber otra manera pero no se cual es.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

devuelva el número de caracteres total de un ficheros

Publicado por xve (1646 intervenciones) el 11/11/2016 08:07:30
Hola Angel, como lo estas ejecutando? yo no tengo ningún problema... lo ejecuto con Python 2.7 y me funciona perfectamente!!!

len() es una función, no es ningún atributo!!! como lo has puesto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de angel

devuelva el número de caracteres total de un ficheros

Publicado por angel (29 intervenciones) el 12/11/2016 02:31:07
yo lo ejecuto conpython 3.5 poreso a lo mejor python no me lee ese tipo de dato en un txt
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de angel

devuelva el número de caracteres total de un ficheros

Publicado por angel (29 intervenciones) el 12/11/2016 04:24:44
como puedo hacerlo a un solo def, o tiene q estar separado para q me de los caracteres y las palabras

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import re
 
def contp(fitxer):
    f = open(fitxer,"r")
    text = f.readlines()
    f.close()
    cont = 0
    for lines in text:
        found = re.findall("([a-z\']+)", lines.strip(), re.I)
        if found:
           cont += len(found)
    if cont > 1:
        return "El archivo tiene %s palabras" % cont
    elif cont == 0:
        return "El archivo esta vacio"
    else:
        return "El archivo tiene %s palabra" % cont
print(contp("text.txt"))
 
def contc(fitxer):
    f = open(fitxer,"r")
    text = f.readlines()
    f.close()
    cont = 0
    for lines in text:
        found = re.findall("(\S)", lines.strip())
        if found:
           cont += len(found)
    if cont > 1:
        return "El archivo tiene %s caracteres" % cont
    elif cont == 0:
        return "El archivo esta vacio"
    else:
        return "El archivo tiene %s caracter" % cont
print (contc("text.txt"))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de angel

devuelva el número de caracteres total de un ficheros

Publicado por angel (29 intervenciones) el 12/11/2016 05:56:21
ya lo arregle ya me funciono en ambas cosas y con una linea de codigo menor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import re
archivo = open('text.txt', 'r')
text= archivo.read()
archivo.close()
cont = 0
for lines in text:
    c=re.findall("(\S)",lines.strip())
    if c:
        cont += len(c)
e=len(text.split())
a=len(text)
print("El archivo tiene",a,"caracteres con espacios")
print("El archivo tiene",cont,"caracteres sin espacios")
print("El archivo tiene",e,"Palabras")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar