Python-Linecache-Modul

高洛峰
Freigeben: 2016-11-22 09:50:48
Original
1645 Leute haben es durchsucht

Linecache

Heute teile ich ein kleines Python-Modul: Linecache, mit dem sich der Inhalt einer bestimmten Zeile einer Datei einfach abrufen lässt. Außerdem wird es vom Traceback-Modul verwendet, um relevante Quellcodeinformationen für die Anzeige abzurufen.
Die Verwendung ist sehr einfach:

>>> import linecache
>>> linecache.getline('/etc/passwd', 4)
'sys:x:3:3:sys:/dev:/bin/sh\n'
Nach dem Login kopieren

linecache.getline Der erste Parameter ist der Dateiname und der zweite Parameter ist die Zeilennummer. Wenn der Dateiname nicht direkt gefunden werden kann, wird er in sys.path gefunden.

Wenn die Anzahl der angeforderten Zeilen die Anzahl der Zeilen in der Datei überschreitet, meldet die Funktion keinen Fehler, sondern gibt eine leere Zeichenfolge zurück. Wenn die Datei nicht vorhanden ist, meldet die Funktion keinen Fehler und gibt eine leere Zeichenfolge zurück.

linecache versucht, einige Informationen zwischenzuspeichern, um das Lesen der Datei zu optimieren. Es bietet außerdem zwei Methoden zum Umgang mit Cache-Abhängigkeiten.

linecache.clearcache()   # 清除不再需要的linecache.getcache()获取的内容

linecache.checkcache([filename])  # 检查文件在硬盘上是否有更新,如果有更新缓存。
                                  # 如果没有提供文件名参数,则检查linecache缓存里所有的条目
Nach dem Login kopieren

Andere

Wenn die Datei sehr groß ist und nur eine Zeile gelesen wird und die Verwendung von Linecache zum Engpass des Programms wird, können Sie auch die folgende Methode verwenden, um etwas Geschwindigkeit zu gewinnen Verbesserungen:

def get_line(thefilepath, desired_line_number):
    if desired_line_number < 1: return &#39;&#39;
    for current_line_number, line in enumerate(open(thefilepath, &#39;rU&#39;)):
        if current_line_number == desired_line_number -1:
            return line
    return &#39;&#39;
Nach dem Login kopieren

ps: Die Möglichkeit, die Datei „rU“ zu öffnen, besteht darin, sie auf den drei Plattformen Windows, Mac und Unix auf die gleiche Weise zu öffnen, und sie wird als n gelesen

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage