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
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()
$ 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
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