Número de caracteres sin espacios en un archivo
Resuelto- Buscar una cadena en un archivo [python]
- lista de números a partir de un número (python)
- calcular el número de píxeles "negros" en una imagen (blanco y negro)
- Obtener el hash sha256 de un archivo en Python
- insertar un archivo en un bucle for
- Encontrar en un archivo de texto la primera palabra que empiece por ...
4 respuestas
-
Hola,
O simplemente haces así:
nb_spaces = ligne.count(' ') nb_car += (len(ligne) - nb_spaces) -
Moderador
Hola
Sería necesario precisar a qué te refieres con espacio, ya que en Python a.isspace() devuelve True si a es un espacio, una tabulación o un salto de línea.
Si hay que ignorar todos los caracteres que entran en esta categoría:
def count_non_space_chars(s: str) -> int: return sum( 1 for a in s if not a.isspace() )
Si solo se quiere ignorar los caracteres ' ':
def count_non_space_chars(s: str) -> int: return sum( 1 for a in s if a != ' ' )
Una vez hecho este elección, para usar la función en un archivo, digamos /etc/motd:
filename = "/etc/motd" with open(filename, "r") as f: print(count_non_space_chars(f.read()))
Buena suerte
-
Hola,
En lugar de publicar una imagen, es mejor mostrar tu código aquí
instrucciones:
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Visualmente, debería parecerse a esto:
for k in range(10): print(k)
Aparte de eso, existe un método de Python aplicable a las cadenas que permite contar las ocurrencias
de un carácter dado (en este caso el espacio, por lo tanto)
Y luego, hacemos esto:
nb_car += (len(ligne) - nb_d_espaces_de_la_ligne)
-
with open("devoirnsi.txt","r") as fic: nb_mot=0 nb_car=0 nb_ligne=0 nb_space=0 nb_voy=0 nb_cons=0 contenu=[] for ligne in fic: nb_ligne+=1 contenu+=ligne.split() nb_car+=len(ligne) print("El número de líneas en este texto es:", nb_ligne) print("El número de caracteres en este texto es:", nb_car-nb_space) print("El número de palabras en este texto es:", len(contenu)) print("El número de vocales en este texto es:", nb_voy) print("El número de consonantes en este texto es:", nb_cons)-
Buenas noches,
Si no ves cómo hacerlo para no tener en cuenta los espacios, significa que no sabes lo que has codificado :-(
- ¿Cómo funciona la función split?
- ¿Para qué te sirve reducir el contenido de una línea a un array?Cuando seas capaz de responder a estos dos puntos, deberías poder avanzar significativamente en tu asunto (incluso resolver tu pregunta, de hecho).
Sin embargo, si querías contar el número de espacios (cf tu variable 'nb_space'), te resultaría mejor proceder de otra manera, por ejemplo, buscando el carácter espacio _ ' '_ en cada línea o bien en una concatenación de tus diferentes líneas.
Mantennos informados de tu progreso -
@arscy
¡Gracias por tu ayuda, lo logré!
-
@tomthiel
bien hecho.
-
