linecache Module¶
The linecache module allows efficient retrieval of individual lines from Python source files, caching lines to avoid repeated file I/O.
Complexity Reference¶
| Operation | Time | Space | Notes |
|---|---|---|---|
getline() first access |
O(n) | O(n) | Loads entire file into cache; n = file lines |
getline() cached |
O(1) | O(1) | Returns cached line |
checkcache() |
O(k) | O(1) | k = cached files; checks mtime for invalidation |
clearcache() |
O(1) | O(1) | Clear all cached files |
Getting Lines from Files¶
Retrieve Single Lines¶
import linecache
# Get line - O(1) after caching
line = linecache.getline('myfile.py', 5)
print(line)
# Get multiple lines - O(k) where k = lines
for i in range(1, 4):
print(linecache.getline('myfile.py', i))
Cache Management¶
Clearing Cache¶
import linecache
# Clear cache - O(1)
linecache.checkcache()
# Clear specific file - O(1)
linecache.checkcache('myfile.py')