Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan kemas kini baris baca linecache python

Bagaimana untuk melaksanakan kemas kini baris baca linecache python

王林
王林ke hadapan
2023-05-01 19:58:05684semak imbas

Fungsi modul

adalah untuk membenarkan sebarang baris atau baris diperoleh daripada mana-mana fail dan menggunakan caching untuk pengoptimuman.

Terdapat beberapa antara muka API

linecache.getlines(nama fail)
Dapatkan semua kandungan daripada fail bernama nama fail, output dalam format senarai, dalam fail Setiap baris ialah elemen dalam senarai, dan disimpan dengan linenum-1 sebagai kedudukan elemen dalam senarai

linecache.getline(nama fail,lineno)
Daripada fail bernama nama fail Dapatkan baris lineno. Fungsi ini tidak akan membuang pengecualian &ndash pada ralat ia akan mengembalikan "" (baris baharu akan disertakan dalam baris yang ditemui
Jika fail tidak ditemui, fungsi ini akan mencari dalam sys.path >

linecache.clearcache()Kosongkan cache jika anda tidak lagi memerlukan baris yang diperoleh daripada getline()

linecache.checkcache(nama fail Semak kesahihan cache Jika fail dalam cache telah berubah dan anda perlu mengemas kini versi, gunakan fungsi ini Jika nama fail ditinggalkan, semua entri dalam cache akan diperiksa 🎜>linecache.updatecache(nama fail)
Kemas kini cache dengan nama fail Jika fail nama fail dikemas kini, gunakan fungsi ini untuk mengemas kini senarai yang dikembalikan oleh linecache.getlines(nama fail

Arahan penggunaan

# 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'
Kemas kini masalah cache baris
Selepas menggunakan linecache.getlines(nama fail) atau linecache.getline(nama fail) untuk membuka kandungan fail, jika fail a.txt telah berubah, tetapi jika anda menggunakan linecache.getlines atau linecache.getline sekali lagi, kandungan yang diperolehi bukanlah kandungan terkini fail, tetapi kandungan sebelumnya, kerana cache belum dikemas kini Terdapat dua kaedah pada masa ini:

1. Gunakan linecache .checkcache(nama fail) untuk mengemas kini cache fail pada cakera keras, dan kemudian laksanakan linecache.getlines(‘a.txt’) untuk mendapatkan kandungan terkini a.txt; . Gunakan linecache terus .updatecache(nama fail), anda boleh mendapatkan kandungan terkini a.txt, tetapi fungsi ini membaca dan mengembalikan teks penuh

3 .getline. .clearcache() mengosongkan cache

Juga: selepas membaca fail, anda perlu mengosongkan cache pada penghujung dan menggunakan linecache.clearcache() untuk mengosongkan cache dan melepaskan cache >Modul ini menggunakan memori untuk cache kandungan fail anda, jadi ia memerlukan memori Saiz dan kelajuan pembukaan fail yang dibuka adalah berkaitan dengan saiz memori anda

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()    # 清空、释放缓存
.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kemas kini baris baca linecache python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam