Hướng dẫn how do you read a specific row in a text file in python? - làm cách nào để bạn đọc một hàng cụ thể trong tệp văn bản trong python?

Cải thiện bài viết

Lưu bài viết

Tệp văn bản bao gồm nội dung văn bản đơn giản. Tệp văn bản còn được gọi là tệp phẳng hoặc tệp đơn giản. Python cung cấp hỗ trợ dễ dàng để đọc và truy cập nội dung trong tệp. Các tệp văn bản được mở đầu tiên và sau đó nội dung được truy cập từ nó theo thứ tự các dòng. Theo mặc định, các số dòng bắt đầu với chỉ mục 0. Có nhiều cách khác nhau để đọc các dòng cụ thể từ một tệp văn bản trong Python, bài viết này nhằm mục đích thảo luận về chúng. & NBSP;

Tệp đang sử dụng: test.txt test.txt

Hướng dẫn how do you read a specific row in a text file in python? - làm cách nào để bạn đọc một hàng cụ thể trong tệp văn bản trong python?

Phương pháp 1: FileObject.ReadLines ()

Một đối tượng tệp có thể được tạo trong python và sau đó readlines () phương thức có thể được gọi trên đối tượng này để đọc các dòng vào một luồng. Phương pháp này được ưa thích khi một dòng hoặc một phạm vi dòng từ tệp cần được truy cập đồng thời. Nó có thể dễ dàng được sử dụng để in các dòng từ bất kỳ chỉ mục bắt đầu ngẫu nhiên nào sang một số chỉ mục kết thúc. Nó ban đầu đọc toàn bộ nội dung của tệp và giữ một bản sao của nó trong bộ nhớ. Các dòng tại các chỉ số được chỉ định sau đó được truy cập. & NBSP;

Example:

Python3

file =

This is line 5.
0
This is line 5.
1
This is line 5.
2
This is line 5.
3

This is line 5.
4= file
This is line 5.
7

This is line 5.
8
This is line 5.
1
This is line 1.
This is line 8.
This is line 12.
0
This is line 5.
3

This is line 5.
8
This is line 1.
This is line 8.
This is line 12.
3
This is line 1.
This is line 8.
This is line 12.
4
This is line 1.
This is line 8.
This is line 12.
5

This is line 5.
8
This is line 5.
1
This is line 1.
This is line 8.
This is line 12.
8
This is line 5.
3

This is line 5.
8
This is line 1.
This is line 8.
This is line 12.
3
Line1: Geeks
Line2: for
Line3: Geeks
2
Line1: Geeks
Line2: for
Line3: Geeks
3
Line1: Geeks
Line2: for
Line3: Geeks
4
This is line 1.
This is line 8.
This is line 12.
5

Output 

dòng thứ mười & nbsp;
 

Đây là dòng 10.

ba dòng đầu tiên & nbsp;
 

Đây là dòng 1. Đây là dòng 2. Đây là dòng 3.

Phương pháp 2: Gói Linecache & NBSP;

Gói linecache có thể được nhập vào Python và sau đó được sử dụng để trích xuất và truy cập các dòng cụ thể trong Python. Gói có thể được sử dụng để đọc đồng thời nhiều dòng. Nó sử dụng lưu trữ bộ đệm để thực hiện tối ưu hóa nội bộ. Gói này tự mở tệp và đến dòng cụ thể. Gói này có phương thức GetLine () được sử dụng cho cùng. & NBSP;

Syntax: 

getLine(txt-file, line_number)

Example:

Python3

Line1: Geeks
Line2: for
Line3: Geeks
6
Line1: Geeks
Line2: for
Line3: Geeks
7

Line1: Geeks
Line2: for
Line3: Geeks
8=
Line1 Geeks
Line2 for
Line3 Geeks
0
This is line 5.
2
Line1 Geeks
Line2 for
Line3 Geeks
2
Line1 Geeks
Line2 for
Line3 Geeks
3__

This is line 5.
8
Line1 Geeks
Line2 for
Line3 Geeks
6

Đầu ra:

This is line 5.

Phương pháp 3: Enumate ()

Phương thức liệt kê () được sử dụng để chuyển đổi một chuỗi hoặc đối tượng danh sách thành chuỗi dữ liệu được lập chỉ mục theo số. Sau đó, nó được sử dụng trong danh sách dữ liệu kết hợp với FOR LOOP. Các dòng tại các chỉ mục cụ thể có thể được truy cập bằng cách chỉ định các số chỉ mục cần thiết trong một mảng. & Nbsp;

Example:

Python3

file =

This is line 5.
0
This is line 5.
1
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1
This is line 5.
3

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3=
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
5
Line1: Geeks
Line2: for
Line3: Geeks
2
Line1 Geeks
Line2 for
Line3 Geeks
2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
8
Line1 Geeks
Line2 for
Line3 Geeks
2
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
0
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
1

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
2
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
3
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
4
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
5
This is line 5.
1file
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
8

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
0
Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
4
Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3

Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
4
This is line 5.
8
Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
6

Đầu ra

This is line 1.
This is line 8.
This is line 12.

Prerequisites:  

  • ['Geeks\n', 'For\n', 'Geeks']
    ['Geeks', 'For', 'Geeks']
    9
    This is line 5.
    56
    This is line 5.
    57
    Line1: Geeks
    Line2: for
    Line3: Geeks
    3
  • Using readlines()
    Line1: Geeks
    Line2: for
    Line3: Geeks
    
    Using readline()
    Line1: Geeks
    Line2: for
    Line3: Geeks
    
    Using for loop
    Line1: Geeks
    Line2: for
    Line3: Geeks
    4
    This is line 5.
    11=
    Line1: Geeks
    Line2: for
    Line3: Geeks
    38
  • Using readlines()
    Line1: Geeks
    Line2: for
    Line3: Geeks
    
    Using readline()
    Line1: Geeks
    Line2: for
    Line3: Geeks
    
    Using for loop
    Line1: Geeks
    Line2: for
    Line3: Geeks
    4
    Using readlines()
    Line1: Geeks
    Line2: for
    Line3: Geeks
    
    Using readline()
    Line1: Geeks
    Line2: for
    Line3: Geeks
    
    Using for loop
    Line1: Geeks
    Line2: for
    Line3: Geeks
    0
    This is line 5.
    70
    This is line 5.
    71

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
2
This is line 5.
11
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
4
Line1: Geeks
Line2: for
Line3: Geeks
68

Chế độ truy cập & nbsp;

Mở tệp & nbsp;

Example:  

Python3

This is line 1.
This is line 8.
This is line 12.
33
This is line 5.
0
This is line 5.
1
This is line 1.
This is line 8.
This is line 12.
75___

=4

=5

Các

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
04=
This is line 1.
This is line 8.
This is line 12.
96

This is line 5.
07=
Line1: Geeks
Line2: for
Line3: Geeks
2

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
2
This is line 5.
11
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
4
This is line 5.
13

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
07
This is line 5.
16=
This is line 5.
18

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
8
This is line 5.
1
This is line 5.
22
This is line 5.
23
This is line 5.
24
This is line 5.
25

Output:   
 

Line1: Geeks
Line2: for
Line3: Geeks

Phương pháp 4: Đọc một dòng theo từng dòng bằng cách sử dụng cho vòng lặp và danh sách hiểu biết

Danh sách hiểu bao gồm các dấu ngoặc chứa biểu thức, được thực thi cho từng phần tử cùng với vòng lặp để lặp lại trên mỗi phần tử. Chúng tôi đã xóa tất cả các ký tự dòng mới khỏi danh sách.

Hướng dẫn how do you read a specific row in a text file in python? - làm cách nào để bạn đọc một hàng cụ thể trong tệp văn bản trong python?

Example:

Python3

file6=

This is line 5.
0
This is line 5.
1=0
Line1 Geeks
Line2 for
Line3 Geeks
2=2

This is line 5.
43

=5

Các

This is line 5.
07=
Line1: Geeks
Line2: for
Line3: Geeks
2

This is line 5.
56
This is line 5.
57
Line1: Geeks
Line2: for
Line3: Geeks
3

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
07
This is line 5.
16=
This is line 5.
18

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
11=
This is line 5.
67

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
0
This is line 5.
70
This is line 5.
71

Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
4
This is line 5.
73

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
8
This is line 5.
1__1222223
This is line 5.
24
This is line 5.
25

=5

Output:  

Line1 Geeks
Line2 for
Line3 Geeks

Phương pháp 3: Đọc từng dòng tệp bằng cách sử dụng cho vòng lặp

Một đối tượng có thể được trả về bởi hàm Open () trong khi mở một tệp. Cách cuối cùng để đọc từng dòng tệp này bao gồm lặp lại trên một đối tượng tệp trong một vòng lặp. Khi làm điều này, chúng tôi đang tận dụng chức năng Python tích hợp cho phép chúng tôi lặp lại đối tượng tệp hoàn toàn bằng cách sử dụng vòng lặp For trong kết hợp với việc sử dụng đối tượng có thể lặp lại. Cách tiếp cận này có ít dòng mã hơn, đây luôn là cách thực hành tốt nhất xứng đáng theo dõi.

Example:

Python3

file6=

This is line 5.
0
This is line 5.
1=0
Line1 Geeks
Line2 for
Line3 Geeks
2=2

=4

=5

Các

This is line 5.
07=
Line1: Geeks
Line2: for
Line3: Geeks
2

This is line 5.
56
This is line 5.
57
Line1: Geeks
Line2: for
Line3: Geeks
3

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
07
This is line 5.
16=
This is line 5.
18

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
07
This is line 5.
16=
This is line 5.
18

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
8
This is line 5.
1
This is line 5.
22
This is line 5.
23
This is line 5.
24
This is line 5.
25

=5

Output:

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks

['Geeks\n', 'For\n', 'Geeks'] ['Geeks', 'For', 'Geeks']9This is line 5.11= This is line 5.67

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
0
This is line 5.
70
This is line 5.
71

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
8
This is line 5.
1__1222223
This is line 5.
24
This is line 5.
25

Python3

This is line 1.
This is line 8.
This is line 12.
33
This is line 5.
0
This is line 5.
1=0
This is line 1.
This is line 8.
This is line 12.
37

Phương pháp 3: Đọc từng dòng tệp bằng cách sử dụng cho vòng lặp

This is line 5.
8
This is line 1.
This is line 8.
This is line 12.
47

This is line 1.
This is line 8.
This is line 12.
33
This is line 5.
0
This is line 5.
1=0
This is line 1.
This is line 8.
This is line 12.
37

Một đối tượng có thể được trả về bởi hàm Open () trong khi mở một tệp. Cách cuối cùng để đọc từng dòng tệp này bao gồm lặp lại trên một đối tượng tệp trong một vòng lặp. Khi làm điều này, chúng tôi đang tận dụng chức năng Python tích hợp cho phép chúng tôi lặp lại đối tượng tệp hoàn toàn bằng cách sử dụng vòng lặp For trong kết hợp với việc sử dụng đối tượng có thể lặp lại. Cách tiếp cận này có ít dòng mã hơn, đây luôn là cách thực hành tốt nhất xứng đáng theo dõi.

This is line 5.
8
This is line 5.
1
This is line 1.
This is line 8.
This is line 12.
14
This is line 5.
3

Output:

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']

['Geeks\n', 'For\n', 'Geeks'] ['Geeks', 'For', 'Geeks']2 This is line 5.11['Geeks\n', 'For\n', 'Geeks'] ['Geeks', 'For', 'Geeks']4 This is line 1. This is line 8. This is line 12.19

Phương pháp 4: Đọc một dòng theo từng dòng bằng cách sử dụng cho vòng lặp và danh sách hiểu biết

Example:

Python3

Danh sách hiểu bao gồm các dấu ngoặc chứa biểu thức, được thực thi cho từng phần tử cùng với vòng lặp để lặp lại trên mỗi phần tử. Chúng tôi đã xóa tất cả các ký tự dòng mới khỏi danh sách.

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 1.
This is line 8.
This is line 12.
80

This is line 5.
07=
Line1: Geeks
Line2: for
Line3: Geeks
2

This is line 5.
8
This is line 5.
1
This is line 1.
This is line 8.
This is line 12.
86
This is line 5.
3

This is line 1.
This is line 8.
This is line 12.
33
This is line 5.
0
This is line 5.
1
This is line 1.
This is line 8.
This is line 12.
75
This is line 1.
This is line 8.
This is line 12.
78

This is line 5.
56
This is line 5.
57
Line1: Geeks
Line2: for
Line3: Geeks
3

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
07
This is line 5.
16=
This is line 5.
18

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
11=
This is line 5.
67

Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
4
This is line 5.
8
This is line 5.
1
This is line 5.
22
This is line 5.
23
This is line 5.
24
This is line 5.
25

This is line 5.
07=
Line1: Geeks
Line2: for
Line3: Geeks
2

This is line 5.
8
This is line 5.
1
Line1: Geeks
Line2: for
Line3: Geeks
19
This is line 5.
3

This is line 1.
This is line 8.
This is line 12.
33
This is line 5.
0
This is line 5.
1
This is line 1.
This is line 8.
This is line 12.
75
This is line 1.
This is line 8.
This is line 12.
78

This is line 5.
56
This is line 5.
57
Line1: Geeks
Line2: for
Line3: Geeks
3

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
11=
This is line 5.
67

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
0
This is line 5.
70
This is line 5.
71

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
8
This is line 5.
1__1222223
This is line 5.
24
This is line 5.
25

Line1: Geeks
Line2: for
Line3: Geeks
43
This is line 5.
73

Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
4
This is line 5.
8
This is line 5.
1
This is line 5.
22
This is line 5.
23
This is line 5.
24
This is line 5.
25

This is line 5.
07=
Line1: Geeks
Line2: for
Line3: Geeks
2

This is line 5.
8
This is line 5.
1
Line1: Geeks
Line2: for
Line3: Geeks
57
This is line 5.
3

This is line 1.
This is line 8.
This is line 12.
33
This is line 5.
0
This is line 5.
1
This is line 1.
This is line 8.
This is line 12.
75
This is line 1.
This is line 8.
This is line 12.
78

This is line 5.
56
This is line 5.
57
Line1: Geeks
Line2: for
Line3: Geeks
3

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9
This is line 5.
11=
This is line 5.
67

Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
4
This is line 5.
8
This is line 5.
1
This is line 5.
22
This is line 5.
23
This is line 5.
24
This is line 5.
25

Output:  

Using readlines()
Line1: Geeks
Line2: for
Line3: Geeks

Using readline()
Line1: Geeks
Line2: for
Line3: Geeks

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks