fileinput |
Entrée de fichier |
---|---|
Python |
Description
Ce module contient les classes de compatibilité avec Perl permettant l'entrée de multiple flux de données.
Liste des classes
Nom | Description |
---|---|
FileInput | Cette classe contient la mise en oeuvre des méthodes filename(), fileno(), lineno(), filelineno(), isfirstline(), isstdin(), nextfile() et close() correspondent aux fonctions du même nom dans le module. |
... | ... |
Liste des procédures et fonctions
Nom | Description |
---|---|
close | Cette fonction permet de fermer la séquence. |
filename | Cette fonction permet de demander le nom du fichier en cours de lecture. Avant la lecture de la première ligne, renvoie None. |
fileno | Cette fonction permet de retourner l'identificateur de descripteur de fichier pour le fichier courant. Lorsqu'aucun fichier n'est pas ouvert (avant la première ligne et entre les fichiers), il retourne -1. |
input | Cette fonction permet de créer une instance de la classe FileInput. |
lineno | Cette fonction permet de demander le numéro de ligne cumulé de la ligne venant d'être lue. Avant la lecture de la première ligne, retourne 0. Après la lecture de la dernière ligne du dernier fichier, retourne le numéro de ligne de cette ligne. |
filelineno | Cette fonction permet de demander le numéro de ligne dans le fichier actuel. Avant que la première ligne ait été lue, retourne 0. Une fois que la dernière ligne du dernier fichier a été lue, retourne le numéro de ligne de cette ligne dans le fichier. |
isfirstline | Cette fonction permet de retourner True si la ligne venant d'être lue est la première ligne de son fichier, sinon elle retournera False. |
isstdin | Cette fonction permet de retourner True si la dernière ligne a été lue depuis sys.stdin, sinon elle retourne False. |
nextfile | Cette fonction permet de fermer le fichier actuel afin que la prochaine itération lira la première ligne du fichier suivant (le cas échéant); les lignes non lues à partir du fichier ne seront pas prises en compte dans le nombre de lignes cumulées. |
Remarques
- Ce module met en oeuvre une classe d'assistance et des fonctions pour écrire rapidement une boucle sur une entrée standard ou une liste de fichiers. Si vous voulez juste lire ou écrire un fichier, vous devriez utiliser la fonction open().
- Tous les fichiers sont ouverts en mode texte par défaut, mais vous pouvez remplacer cela en spécifiant le paramètre de mode dans l'appel à input() ou FileInput. Si une erreur d'entrée/sortie se produit lors de l'ouverture ou de la lecture d'un fichier, l'exception OSError est déclenchée.
- Jusqu'à la version 3.3 de Python l'exception IOError était déclenché; après c'est version, c'est un alias d'OSError.
- Si sys.stdin est utilisé plusieurs fois, la deuxième utilisation et les autres ne retourneront aucune ligne, sauf peut-être pour une utilisation interactive, ou si elle a été explicitement réinitialisée (par exemple en utilisant sys.stdin.seek(0)).
- Les fichiers vides sont ouverts et immédiatement fermés; la seule fois où leur présence dans la liste des noms de fichiers est perceptible, c'est lorsque le dernier fichier ouvert est vide.
- Les lignes sont retournées avec toutes les nouvelles lignes intactes, ce qui signifie que la dernière ligne d'un fichier peut ne pas en avoir.
- Vous pouvez contrôler la façon dont les fichiers sont ouverts en fournissant un crochet d'ouverture via le paramètre openhook à la fonction fileinput.input() ou la classe FileInput(). Le crochet doit être une fonction prenant deux paramètres, nom de fichier et mode, et retourner un objet de type fichier ouvert en conséquence. Deux crochets utiles sont déjà fournis par ce module.
Dernière mise à jour : Dimanche, le 15 mars 2020