Maison  >  Article  >  développement back-end  >  Comment utiliser le module fileinput pour l'itération de fichiers dans Python 2.x

Comment utiliser le module fileinput pour l'itération de fichiers dans Python 2.x

PHPz
PHPzoriginal
2023-08-02 11:53:061343parcourir

Comment utiliser le module fileinput pour l'itération de fichiers dans Python 2.x

Présentation :
Dans la programmation Python, le traitement des fichiers est une tâche courante. Le module fileinput de Python fournit un moyen pratique de traiter de manière itérative des fichiers texte. Cela nous permet de parcourir chaque ligne du fichier pour effectuer les opérations nécessaires. Cet article explique comment utiliser le module fileinput pour l'itération de fichiers dans la version Python 2.x et l'explique plus en détail à travers des exemples de code.

Utilisation de base du module fileinput :
Tout d'abord, nous devons importer le module fileinput. Ensuite, vous pouvez utiliser la fonction fileinput.input() pour créer un itérateur de fichier. Cette fonction accepte une liste itérable de noms de fichiers comme argument et renvoie un objet itérateur. Nous pouvons utiliser cet objet itérateur dans une boucle for pour parcourir chaque ligne du fichier. Dans la boucle, vous pouvez utiliser d'autres fonctions et méthodes fournies par le module fileinput pour obtenir la ligne actuelle, le nom du fichier actuel et d'autres informations associées.

Voici un exemple simple qui montre comment utiliser le module fileinput pour parcourir chaque ligne d'un fichier et imprimer le contenu et le nom de fichier actuel de chaque ligne :

import fileinput

# 遍历文件的每一行
for line in fileinput.input(['file.txt']):
    # 打印当前行的内容和当前文件名
    print(line.rstrip(), fileinput.filename())

# 打印总行数
print('Total lines:', fileinput.lineno())

Dans l'exemple ci-dessus, nous renvoyons le fichier qui a été lire via fileinput.input(['file.txt'])创建了一个文件迭代器,来迭代处理名为'file.txt'的文本文件。line.rstrip()可去除行尾的换行符,fileinput.filename()返回当前文件名。fileinput.lineno() nombre de lignes.

Autres méthodes et fonctions courantes du module fileinput :
En plus de la fonction d'itération de base, le module fileinput fournit également d'autres fonctions pour nous aider à traiter les fichiers plus facilement.

  1. fileinput.isfirstline() : Détermine si la ligne actuelle est la première ligne du fichier.
  2. fileinput.lineno() : renvoie le nombre de lignes lues.
  3. fileinput.nextfile() : Passe au fichier suivant, s'il existe.
  4. fileinput.close() : ferme l'itérateur.
  5. fileinput.filename() : renvoie le nom du fichier actuel.
  6. fileinput.filelineno() : renvoie le numéro de ligne actuel.
  7. fileinput.fileno() : renvoie le descripteur de fichier du fichier actuel.
  8. fileinput.input(files=None, inplace=False, backup='', mode='r', bufsize=-1, openhook=None) : Créez un itérateur de fichier.

Ce qui suit est un exemple qui montre comment utiliser le module fileinput pour compter le nombre de lignes et de caractères dans un fichier :

import fileinput

line_count = 0
char_count = 0

# 遍历文件的每一行
for line in fileinput.input(['file.txt']):
    # 统计总行数
    line_count += 1
    # 统计总字符数(去除空格和换行符)
    char_count += len(line.strip())

# 打印统计结果
print('Total lines:', line_count)
print('Total characters:', char_count)

L'exemple ci-dessus parcourra chaque ligne du fichier 'file.txt' et comptera le total nombre de lignes et nombre total de caractères (supprimer les espaces et les nouvelles lignes). Imprimez ensuite les résultats statistiques.

Conclusion : 
L'utilisation du module fileinput de Python peut facilement traiter de manière itérative des fichiers texte. Nous pouvons utiliser de manière flexible les fonctions et les méthodes qu'il fournit pour exploiter chaque ligne du fichier et obtenir des informations associées sur le fichier et la ligne. En apprenant et en utilisant le module fileinput, nous pouvons traiter les fichiers plus efficacement et améliorer l'efficacité de la programmation.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn