python读取文件末尾n行
时间: 2023-08-31 20:02:32 浏览: 73
在Python中可以使用一些方法来读取文件末尾的n行。
1. 使用fileinput模块:
```python
import fileinput
def read_last_n_lines(file_path, n):
lines = []
for line in fileinput.input(file_path, inplace=1, backup=".bak"):
lines.append(line)
return lines[-n:]
file_path = "example.txt" # 文件的路径
n = 5 # 需要获取的末尾n行
last_n_lines = read_last_n_lines(file_path, n)
for line in last_n_lines:
print(line)
```
2. 使用seek和tell方法:
```python
def read_last_n_lines(file_path, n):
with open(file_path, "rb") as file:
lines = []
file.seek(0, 2) # 将文件指针移动到末尾
file_size = file.tell() # 获取文件大小
newline_count = 0
for i in range(file_size-1, -1, -1):
file.seek(i)
char = file.read(1)
if char == b'\n':
newline_count += 1
if newline_count == n+1:
break
if i == 0:
file.seek(0)
last_n_lines = file.readlines()
return last_n_lines[::-1]
file_path = "example.txt" # 文件的路径
n = 5 # 需要获取的末尾n行
last_n_lines = read_last_n_lines(file_path, n)
for line in last_n_lines:
print(line.decode())
```
以上两种方法都可以读取文件末尾的n行,根据实际需要选择合适的方法使用。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)