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

王林
リリース: 2023-05-01 19:58:05
転載
717 人が閲覧しました

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

いくつかの 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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!