ホームページ  >  記事  >  バックエンド開発  >  Python linecache read line updateを実装する方法

Python linecache read line updateを実装する方法

王林
王林転載
2023-05-01 19:58:05731ブラウズ

このモジュールの機能は、任意のファイルから任意の行を取得できるようにし、最適化のためにキャッシュを使用することです。

いくつかの API インターフェイスがあります

linecache.getlines(filename)
filename という名前のファイルからすべての内容を取得し、リスト形式で出力します。 file 各行はリスト内の要素であり、リスト内の要素の位置として linenum-1 で保存されます

linecache.getline(filename,lineno)
From filename という名前のファイル lineno 行を取得します。この関数は例外をスローしません。エラーが発生した場合は "" を返します (見つかった行には改行文字が含まれます)。
ファイルが見つからない場合、この関数は sys.path を検索します。

linecache.clearcache()
キャッシュをクリアします。getline()から取得した行が不要になった場合は、

##linecache.checkcache(filename)

キャッシュの有効性を確認します。キャッシュ内のファイルがハードディスク上で変更され、バージョンを更新する必要がある場合は、この機能を使用します。ファイル名を省略した場合は、キャッシュ内のすべてのエントリが確認されます。

linecache.updatecache(filename)

ファイル名 filename でキャッシュを更新します。ファイル名ファイルが更新された場合は、この関数を使用して、linecache.getlines(filename) によって返されるリストを更新します。 .
使用手順

# 1、获取a.txt文件的内容
>>> a=linecache.getlines('C:/Users/yuan/Desktop/a.txt')
['1a\n', '2b\n', '3c\n', '4d\n', '5e\n', '6f\n', '7g\n']
# 2、获取a.txt文件中第1-4行的内容
>>> a=linecache.getlines('C:/Users/yuan/Desktop/a.txt')[0:4]
>>> a
['1a\n', '2b\n', '3c\n', '4d\n']
# 3、获取a.txt文件中第4行的内容
>>> a=linecache.getline('C:/Users/yuan/Desktop/a.txt',4)
>>>> a
'4d\n'

ライン キャッシュの問題の更新

linecache.getlines(filename) または linecache.getline(filename) を使用してファイルのコンテンツを開いた後、 a.txt ファイルは変更されますが、linecache.getlines または linecache.getline を再度使用すると、キャッシュが更新されていないため、取得されるコンテンツはファイルの最新のコンテンツではなく、以前のコンテンツになります。今回:

1. linecache .checkcache(filename) を使用してハード ディスク上のファイル キャッシュを更新し、linecache.getlines(‘a.txt’) を実行して a の最新のコンテンツを取得します。 txt;

2. linecache を直接 .updatecache(filename) を使用すると、最新の a.txt の最新の内容を取得できますが、この関数は全文を読み取って返します。 linecache.getlines または linecache.getline の直後に linecache を使用します。.clearcache() によってキャッシュがクリアされます。

Another: ファイルを読み取った後、ファイル キャッシュを使用する必要がない場合は、キャッシュをクリアする必要があります

このモジュールはメモリを使用してファイルのコンテンツをキャッシュするため、メモリが必要です。開かれたファイルのサイズと開く速度は次のとおりです。メモリ サイズに関係します。

import linecache

for i in range(4):  
    linecache.checkcache('C:/Users/yuan/Desktop/cpucheck.txt')         # 更新缓存
    # text = linecache.updatecache('C:/Users/liyuan/Desktop/cpucheck.txt', 4)
    text = linecache.getline('C:/Users/yuan/Desktop/cpucheck.txt', 3)      # 读取第三行

    print(text)
linecache.clearcache()    # 清空、释放缓存

以上がPython linecache read line updateを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。