[Python] Lire la ligne spécifiée dans le fichier

Lire la ligne spécifiée

Un mémo lorsque vous souhaitez extraire uniquement la ligne spécifiée du fichier dans le programme

linecache Code source: https://hg.python.org/cpython/file/3.4/Lib/linecache.py URL de référence: http://docs.python.jp/3.4/library/linecache.html

Le module linecache utilise un cache (qui est généralement lu plusieurs lignes à partir d'un seul fichier) pour vous permettre de récupérer des lignes arbitraires dans un fichier source Python avec une optimisation interne. .. Le module de traceback utilise ce module pour inclure le code source dans un traceback bien formé.

Vous pouvez lire la ligne spécifiée avec linecache.getline (filename, lineno). Spécifiez le nom du fichier dans filename et le nombre de lignes dans lineno. «lineno» est un entier de «1 ~». Le sample.txt utilisé ci-dessous est un fichier qui décrit la Nième ligne et chaque ligne de la 0ème ligne à la 1000ème ligne. (Au début, quand je pensais que «ligne no» commençait à partir de «0», cela commençait à partir de «1», donc ça commençait à 0.)

Code créé cette fois: https://github.com/KodairaTomonori/Qiita/tree/master/default_module/linecache

échantillon

test_linecache.py


import linecache

a = input('Combien de lignes souhaitez-vous récupérer? :')
target_line = linecache.getline('sample.txt', int(a))
print(target_line)
linecache.clearcache() 

production

$ head sample.txt 
Ligne 0
La première ligne
2e ligne
3e ligne
4ème ligne
5ème ligne
6ème ligne
7ème ligne
8ème ligne
9ème ligne
$ python test_linecache.py 
Combien de lignes souhaitez-vous récupérer? : 100
Ligne 99

Commentaire

linecache.getline renvoie la chaîne de la ligne spécifiée. Le dernier linecache.clearcache () utilise le cache, comme mentionné dans la première instruction citée, donc effacez-le lorsque vous n'utilisez plus le fichier.

Si la taille du fichier est petite, je pense qu'il est généralement plus rapide de créer une liste avec readlines (). (Pas une histoire rapide) De plus, si vous souhaitez simplement vérifier la ligne spécifiée, head -100 sample.txt | tail -1 Vous pouvez le voir normalement sur.

Recommended Posts

[Python] Lire la ligne spécifiée dans le fichier
Lisez le fichier ligne par ligne avec Python
Enregistrez le fichier binaire en Python
Différentes façons de lire la dernière ligne d'un fichier csv en Python
[Python] Ouvrez le fichier csv dans le dossier spécifié par pandas
Google recherche la chaîne sur la dernière ligne du fichier en Python
Lisons le fichier RINEX avec Python ①
Lire la sortie standard d'un sous-processus ligne par ligne en Python
Lisez le fichier en Python avec un chemin relatif depuis le programme
Opérations sur les fichiers en Python
Lire DXF avec python
Traitement de fichiers en Python
Lire le fichier csv Python
Lire un fichier contenant des lignes brouillées en Python
Lire les données de la table dans un fichier PDF avec Python
Lire ligne par ligne à partir d'un fichier avec Python
Lisez le fichier avec python et supprimez les sauts de ligne [Notes sur la lecture du fichier]
Fizzbuzz en Python (en une ligne)
Trouver des erreurs en Python
Comment lire toutes les classes contenues dans * .py dans le répertoire spécifié par Python
Python --Lisez les données d'un fichier de données numériques et recherchez la ligne de régression multiple.
Lire la formule d'Euler en Python
Lisez le fichier csv et affichez-le dans le navigateur
Lisez le fichier xml en vous référant au didacticiel Python
Essayez LINE Notify avec Python
Lire les e-mails Outlook avec Python
Je veux obtenir le nom du fichier, le numéro de ligne et le nom de la fonction dans Python 3.4
Lire la sortie Fortran avec python
Sortie de la table spécifiée de la base de données Oracle en Python vers Excel pour chaque fichier
Comment changer le fichier de configuration pour qu'il soit lu par Python
Changer la destination de sortie standard en un fichier en Python
[Python] Lisez le fichier csv et affichez la figure avec matplotlib
[Note] Importation de fichiers dans le répertoire parent en Python
Exécutez le fichier python après avoir activé l'environnement virtuel python avec le fichier de commandes
[Python] Lire les arguments de ligne de commande à partir du nom de fichier ou de stdin
Lignes de sortie contenant la chaîne spécifiée
Segfo python en une ligne
Extraire le fichier xz avec python
Obtenir l'API arXiv en Python
Manipulation de chemin de fichier / dossier en Python
Lire les données des tampons de protocole avec Python3
Frappez l'API Sesami en Python
Essayez le SDK Python LINE Pay
Création de Linebot et partage de fichiers avec Python
Obtenez le chemin du bureau en Python
Lire des morceaux PNG en Python (édition de classe)
Obtenez le chemin du script en Python
Dans la commande python, python pointe vers python3.8
Implémenter le modèle Singleton en Python
Créer un fichier binaire en Python
Type spécifié en python. Lancer des exceptions
L'histoire du "trou" dans le fichier
Accédez à l'API Web en Python
Extraire le fichier targz en utilisant python
Lire des fichiers en parallèle avec Python
J'ai écrit la file d'attente en Python
Calculer le mois précédent en Python
Examiner la classe d'un objet avec python