Maison  >  Article  >  développement back-end  >  Obtenez le nombre de caractères, de mots, d'espaces et de lignes dans un fichier en utilisant Python

Obtenez le nombre de caractères, de mots, d'espaces et de lignes dans un fichier en utilisant Python

WBOY
WBOYavant
2023-09-02 12:33:151715parcourir

Obtenez le nombre de caractères, de mots, despaces et de lignes dans un fichier en utilisant Python

L'analyse de fichiers texte est une tâche essentielle dans diverses applications de traitement de données et de traitement du langage naturel. Python est un langage de programmation polyvalent et puissant qui fournit un large éventail de fonctionnalités et de bibliothèques intégrées pour accomplir efficacement ces tâches. Dans cet article, nous allons explorer comment compter le nombre de caractères, de mots, d'espaces et de lignes dans un fichier texte à l'aide de Python.

Méthode 1 : Méthode de fissuration par force brute

Dans cette méthode, nous développerons notre propre logique de manière brutale et prendrons un fichier texte en entrée et compterons le nombre de caractères, de mots, d'espaces et de lignes dans le fichier. Dans cette méthode, nous n’utiliserons aucune méthode intégrée.

Algorithme

  • Utilisez la fonction open() pour ouvrir le fichier en mode lecture.

  • Initialisez les variables pour suivre le nombre de caractères, de mots, d'espaces et de lignes.

  • Lisez le fichier ligne par ligne à l'aide d'une boucle.

  • Pour chaque ligne, augmentez le nombre de lignes.

  • Augmentez le nombre de caractères par longueur de ligne.

  • Divisez la ligne en mots à l'aide de la méthode split().

  • Augmentez le nombre de mots du nombre de mots dans la ligne.

  • Calculez le nombre d'espaces en soustrayant par un le nombre de mots de la longueur de la ligne.

  • Fermez le fichier.

  • Imprimez les résultats.

Grammaire

string.split(separator, maxsplit)

La chaîne ici est la chaîne à diviser. delimiter (facultatif) est le délimiteur utilisé pour diviser la chaîne. La valeur par défaut est des espaces si non spécifié, maxsplit (facultatif) est le nombre maximum de fractionnements à effectuer. S’il n’est pas spécifié, toutes les occurrences du délimiteur seront utilisées.

len(sequence)

La séquence ici est la séquence (chaîne, liste, tuple, etc.) dont vous souhaitez trouver la longueur.

Exemple

Dans l'exemple ci-dessous, la fonction analyze_text_file() prend le chemin du fichier comme paramètre. A l'intérieur de la fonction, la fonction open() est utilisée pour ouvrir le gestionnaire de fichiers en mode lecture à l'aide d'un contexte (avec instruction) pour garantir que le fichier est correctement fermé après traitement. Quatre variables (char_count, word_count, space_count, line_count) sont initialisées à zéro pour garder une trace de leurs comptes respectifs. Parcourez chaque ligne du fichier. Pour chaque ligne, le nombre de lignes est incrémenté. La longueur de la ligne est ajoutée au nombre de caractères. Divisez les lignes en mots à l'aide de la méthode split(), qui divise les lignes en caractères d'espacement. Ajoutez le nombre de mots dans la ligne au nombre de mots. Le nombre d'espaces est calculé en soustrayant un du nombre de mots dans la ligne, car les espaces sont inférieurs d'un au nombre de mots. Une fois toutes les lignes traitées, le fichier sera automatiquement fermé par le gestionnaire de contexte. Enfin, les résultats sont imprimés, indiquant le nombre de caractères, de mots, d'espaces et de lignes.

def analyze_text_file(file_path):
    try:
        with open(file_path, 'r') as file:
            char_count = 0
            word_count = 0
            space_count = 0
            line_count = 0

            for line in file:
                line_count += 1
                char_count += len(line)
                words = line.split()
                word_count += len(words)
                space_count += len(words) - 1

            print("File analysis summary:")
            print("Character count:", char_count)
            print("Word count:", word_count)
            print("Space count:", space_count)
            print("Line count:", line_count)

    except FileNotFoundError:
        print("File not found!")

# Usage
file_path = "sample.txt"  # Replace with your file path
analyze_text_file(file_path)

Sortie

File not found!

Méthode 2 : Utiliser la méthode intégrée

Dans cette méthode, nous pouvons utiliser certaines fonctions intégrées et modules du système d'exploitation pour compter le nombre de caractères, de mots, d'espaces et de lignes dans le fichier.

Algorithme

  • Définissez une fonction appelée analyse_text_file(file_path) qui prend le chemin du fichier comme paramètre.

  • Dans une fonction, utilisez un bloc try− except pour gérer la possibilité de FileNotFoundError.

  • Dans le bloc try, utilisez la fonction open() pour ouvrir le fichier en utilisant file_path en mode lecture.

  • Utilisez des gestionnaires de contexte (avec des instructions) pour garantir une gestion correcte des fichiers et fermer automatiquement les fichiers.

  • Utilisez la méthode read() pour lire l'intégralité du contenu du fichier et le stocker dans une variable appelée content.

  • Calculez le nombre de caractères en utilisant la fonction len() sur la chaîne de contenu et attribuez-le à char_count.

  • Comptez le nombre de mots en divisant la chaîne de contenu en caractères d'espacement à l'aide de la méthode split(), puis en utilisant la fonction len() sur la liste résultante. Attribuez le résultat à word_count.

  • Comptez le nombre d'espaces dans la chaîne de contenu en utilisant la méthode count() avec le paramètre " ". Attribuez le résultat à space_count.

  • Utilisez la méthode count() avec le paramètre "n" pour compter le nombre de nouvelles lignes dans la chaîne de contenu. Attribuez le résultat à line_count.

  • Imprimez le résumé de l'analyse en affichant le nombre de caractères, de mots, d'espaces et de lignes.

  • Dans le bloc except, attrapez FileNotFoundError et imprimez le message "Fichier introuvable !"

  • Fin de fonction.
  • En dehors de la fonction, définissez une variable file_path qui contient le chemin d'accès au fichier à analyser.
  • Appelez la fonction analyse_text_file(file_path) et transmettez file_path en paramètre.
  • Exemple

Dans l'exemple ci-dessous, la fonction

analyze_text_file()

prend le chemin du fichier comme paramètre. A l'intérieur de la fonction, la fonction open() permet d'ouvrir le fichier en mode lecture à l'aide d'un gestionnaire de contexte.

在文件对象上调用 read() 方法,将文件的全部内容读取到名为 content 的字符串变量中。使用内置函数和方法:len(content) 计算通过确定内容的长度来计算字符数 string.len(content.split()) 通过在空白字符处拆分内容字符串并计算结果列表的 length.content 来计算字数。 count(' ') 使用 count() 方法计算内容字符串中空格的数量。content.count('\n') 计算内容中换行符的数量字符串,对应行数。打印结果,显示字符数、字数、空格数和行数。

def analyze_text_file(file_path):
    try:
        with open(file_path, 'r') as file:
            content = file.read()

            char_count = len(content)
            word_count = len(content.split())
            space_count = content.count(' ')
            line_count = content.count('\n')

            print("File analysis summary:")
            print("Character count:", char_count)
            print("Word count:", word_count)
            print("Space count:", space_count)
            print("Line count:", line_count)

    except FileNotFoundError:
        print("File not found!")

# Usage
file_path = "sample.txt"  # Replace with your file path
analyze_text_file(file_path)

输出

File not found!

结论

在本文中,我们讨论了如何使用 Python 强力方法以及内置方法来计算文件中的单词数、空格数和行数。通过利用这些内置函数和方法,您可以实现相同的任务以简洁有效的方式分析文本文件。请记住将 file_path 变量中的“sample.txt”替换为您所需的文本文件的路径。本文中描述的两种方法都提供了使用 Python 分析和提取文本文件信息的有效方法,使您可以执行进一步的数据处理和分析基于获得的计数。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer