python tail
时间: 2024-12-24 15:11:45 浏览: 15
"python tail" 是一条命令行指令,通常用于查看文本文件的末尾部分。在Python标准库中并没有直接提供 "tail" 这样的函数,但是你可以使用内置的 `open` 函数结合其他模块(如 `io` 或第三方模块如 `textfile`、`pathlib`)来实现类似的功能。
例如,如果你想读取文件的最后几行,可以这样做:
```python
import io
def tail(filename, n=10):
with open(filename, 'r') as file:
# 使用 seek(0, 2) 移动到文件末尾,tell() 获取当前位置
file.seek(0, 2)
end = file.tell()
# 计算偏移量以读取最后n行
lines_to_read = min(n, end)
buffer_size = 4096 # 一次读取的数据大小
offset = end - lines_to_read
# 从末尾向前读取
while lines_to_read > 0:
file.seek(offset, io.SEEK_SET)
data = file.read(buffer_size)
lines_in_data = data.count('\n')
if lines_in_data > 0:
yield data.splitlines()[-lines_in_data:]
lines_to_read -= lines_in_data
offset -= buffer_size
# 使用示例
with tail('example.txt', 5) as last_lines:
for line in last_lines:
print(line)
阅读全文