Ein Memo, wenn Sie nur die angegebene Zeile aus der Datei im Programm extrahieren möchten
linecache Quellcode: https://hg.python.org/cpython/file/3.4/Lib/linecache.py Referenz-URL: http://docs.python.jp/3.4/library/linecache.html
Das Linecache-Modul verwendet einen Cache (der normalerweise viele Zeilen aus einer einzelnen Datei liest), damit Sie beliebige Zeilen in einer Python-Quelldatei mit interner Optimierung abrufen können. .. Das Traceback-Modul verwendet dieses Modul, um den Quellcode in einen wohlgeformten Traceback aufzunehmen.
Sie können die angegebene Zeile mit "linecache.getline (Dateiname, Leinen)" lesen. Geben Sie den Dateinamen in "Dateiname" und die Anzahl der Zeilen in "Leinen" an. lineno
ist eine ganze Zahl von 1 ~
.
Die unten verwendete sample.txt
ist eine Datei, die die N-te Zeile und jede Zeile von der 0. bis zur 1000. Zeile beschreibt. (Zuerst, als ich dachte, dass "Zeile Nr." Von "0" begann, begann sie von "1", also von 0).
Diesmal erstellter Code: https://github.com/KodairaTomonori/Qiita/tree/master/default_module/linecache
test_linecache.py
import linecache
a = input('Wie viele Zeilen möchten Sie abrufen? ::')
target_line = linecache.getline('sample.txt', int(a))
print(target_line)
linecache.clearcache()
$ head sample.txt
Zeile 0
Die erste Zeile
2. Zeile
3. Zeile
4. Zeile
5. Zeile
6. Zeile
7. Zeile
8. Zeile
9. Zeile
$ python test_linecache.py
Wie viele Zeilen möchten Sie abrufen? : 100
Zeile 99
linecache.getline
gibt die Zeichenfolge für die angegebene Zeile zurück.
Der letzte linecache.clearcache ()
verwendet den Cache, wie im ersten Satz erwähnt. Löschen Sie ihn also, wenn Sie die Datei nicht mehr verwenden.
Wenn die Dateigröße klein ist, ist es meiner Meinung nach normalerweise schneller, eine Liste mit "readlines ()" zu erstellen. (Keine schnelle Geschichte)
Wenn Sie nur die angegebene Zeile überprüfen möchten,
head -100 sample.txt | tail -1
Sie können es normal bei sehen.
Recommended Posts