comptage de caractères et de lignes à partir d'un fichier python 2.7
Je suis en train d'écrire un programme qui compte le nombre de toutes les lignes, de mots et de caractères à partir d'un fichier donné en entrée.
import string
def main():
print "Program determines the number of lines, words and chars in a file."
file_name = raw_input("What is the file name to analyze? ")
in_file = open(file_name, 'r')
data = in_file.read()
words = string.split(data)
chars = 0
lines = 0
for i in words:
chars = chars + len(i)
print chars, len(words)
main()
Dans une certaine mesure, le code est ok.
Je ne sais pas cependant, la façon de compter les "espaces" dans le fichier. Mon personnage compteur compte uniquement des lettres, des espaces sont exclus.
En Plus je suis le dessin d'un blanc quand il s'agit de compter les lignes.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser
len(data)
pour la longueur de caractère.Vous pouvez diviser
data
par des lignes à l'aide de la.splitlines()
méthode, et la longueur de ce résultat est le nombre de lignes.Mais, une meilleure approche serait de lire le fichier ligne par ligne:
Désormais, le programme de travail même si le fichier est très volumineux; il ne tiendra pas plus d'une ligne à la fois dans la mémoire (plus un petit tampon de python continue à faire de la
for line in in_file:
boucle un peu plus vite).Très Simple:
Si vous souhaitez imprimer pas de chars , pas de mots et de lignes dans le fichier. et notamment les espaces.. plus courte réponse que je ressens est la mienne..
Garder le codage copains...
lire le fichier-
personnages-
lignes-
mots-
C'est une façon grossière de comptage de mots sans utiliser de mots-clés: