>  기사  >  백엔드 개발  >  Python linecache 읽기 행 업데이트를 구현하는 방법

Python linecache 읽기 행 업데이트를 구현하는 방법

王林
王林앞으로
2023-05-01 19:58:05729검색

모듈의 기능은 모든 파일에서 모든 라인을 가져올 수 있도록 하고 최적화를 위해 캐싱을 사용하는 것입니다.

여러 가지 API 인터페이스가 있습니다

linecache.getlines(filename)
filename이라는 파일에서 모든 내용을 가져와 목록 형식으로 출력합니다. 파일의 각 줄은 목록의 요소로, linenum은 -1 as 목록에 있는 요소의 위치가 저장됩니다.

linecache.getline(filename,lineno)
filename이라는 파일에서 lineno를 가져옵니다. 이 함수는 오류 발생 시 ""를 반환하지 않습니다.
파일을 찾을 수 없으면

linecache에서 검색합니다. clearcache()
캐시를 삭제하세요. 이전에 getline()에서 얻은 라인이 더 이상 필요하지 않은 경우

linecache.checkcache(filename)
파일이 캐시에 있고 필요한 경우 캐시 유효성을 확인하세요. 버전을 업데이트하려면 이 함수를 사용하세요. 파일 이름이 생략되면 캐시의 모든 항목을 확인합니다.

linecache.updatecache(filename)
파일 파일 이름이 업데이트되면 이 함수를 사용하여 linecache에서 반환된 목록을 업데이트합니다. .getlines(파일 이름).

사용 지침

# 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(파일 이름) 또는 linecache.getline(파일 이름)을 사용한 후 .txt 파일이 변경되었지만 linecache를 사용하는 경우. getlines 또는 linecache.getline을 다시 실행하면 캐시가 업데이트되지 않았기 때문에 얻은 ​​콘텐츠는 파일의 최신 콘텐츠가 아니라 이전 콘텐츠입니다.

1.linecache.checkcache(filename)를 사용하세요. ) 하드 디스크의 파일 캐시를 업데이트한 다음 linecache.getlines(‘a.txt’)를 실행하여 a.txt의 최신 콘텐츠를 가져옵니다.

2 linecache.updatecache를 직접 사용하면 됩니다. 최신 a.txt의 최신 콘텐츠를 가져옵니다. 하지만 이 함수는 전체 텍스트를 읽고 반환합니다.

3. 캐시를 지우려면 linecache.getlines 또는 linecache.getline 바로 뒤에 linecache.clearcache()를 사용하세요. 파일을 읽은 후 캐시를 사용할 필요가 없을 때 캐시를 지워야 합니다. 캐시를 지우고 캐시를 해제하려면 linecache.clearcache()를 사용하세요.

이 모듈은 파일 내용을 캐시하기 위해 메모리를 사용합니다. . 그래서 메모리가 필요합니다. 열린 파일의 크기와 열기 속도는 메모리 크기와 관련이 있습니다

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 읽기 행 업데이트를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제