Trong khi mở Python

Python cung cấp các hàm sẵn có để tạo, viết và đọc tệp. Có hai loại tệp có thể được xử lý trong python, tệp văn bản bình thường và tệp nhị phân [được viết bằng ngôn ngữ nhị phân, 0 và 1]. Trong bài này, chúng ta sẽ nghiên cứu cách đọc từng dòng từ một tập tin

Phương pháp 1. Đọc từng dòng tệp bằng cách sử dụng readlines[]

readlines[] được sử dụng để đọc tất cả các dòng trong một lần và sau đó trả về chúng dưới dạng mỗi dòng một phần tử chuỗi trong danh sách. Chức năng này có thể được sử dụng cho các tệp nhỏ, vì nó đọc toàn bộ nội dung tệp vào bộ nhớ, sau đó chia thành các dòng riêng biệt. Chúng ta có thể lặp lại danh sách và loại bỏ ký tự '\n' của dòng mới bằng cách sử dụng hàm strip[]

Thí dụ.  

Python3




# Python code to

# demonstrate readlines[]

 

L=

Line1 Geeks
Line2 for
Line3 Geeks
0
Line1 Geeks
Line2 for
Line3 Geeks
1
Line1 Geeks
Line2 for
Line3 Geeks
2
Line1 Geeks
Line2 for
Line3 Geeks
3
Line1 Geeks
Line2 for
Line3 Geeks
2
Line1 Geeks
Line2 for
Line3 Geeks
1
Line1 Geeks
Line2 for
Line3 Geeks
6

 

Line1 Geeks
Line2 for
Line3 Geeks
8

Line1 Geeks
Line2 for
Line3 Geeks
9=
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1_______9_______2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3
Line1 Geeks
Line2 for
Line3 Geeks
2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
5
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
6

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

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

 

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

Line1 Geeks
Line2 for
Line3 Geeks
9=
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1_______9_______2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3
Line1 Geeks
Line2 for
Line3 Geeks
2
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
7
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
6

['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
9_______149_______
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

 

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_______149_______
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
5

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

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
7
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
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
9 # Python code to0

# Python code to1_______26_______3# Python code to3= # Python code to5

# Python code to1_______145_______7

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
2# Python code to9# demonstrate readlines[]0# demonstrate readlines[]1# demonstrate readlines[]2

đầu ra.  
 

Line1: Geeks
Line2: for
Line3: Geeks

Phương pháp 2. Đọc từng dòng tệp bằng cách sử dụng readline[]

hàm readline[] đọc một dòng của tệp và trả về dưới dạng chuỗi. Nó nhận một tham số n, xác định số byte tối đa sẽ được đọc. Tuy nhiên, không đọc nhiều hơn một dòng, ngay cả khi n vượt quá độ dài của dòng. Nó sẽ hiệu quả khi đọc một tệp lớn vì thay vì tìm nạp tất cả dữ liệu trong một lần, nó sẽ tìm nạp từng dòng. readline[] trả về dòng tiếp theo của tệp chứa ký tự xuống dòng ở cuối. Ngoài ra, nếu đến cuối tệp, nó sẽ trả về một chuỗi rỗng

Thí dụ

Python3




# demonstrate readlines[]3

# demonstrate readlines[]4

 

L=

Line1 Geeks
Line2 for
Line3 Geeks
0
Line1 Geeks
Line2 for
Line3 Geeks
1
Line1 Geeks
Line2 for
Line3 Geeks
2
Line1 Geeks
Line2 for
Line3 Geeks
3
Line1 Geeks
Line2 for
Line3 Geeks
2
Line1 Geeks
Line2 for
Line3 Geeks
1
Line1 Geeks
Line2 for
Line3 Geeks
6

 

 6

Line1 Geeks
Line2 for
Line3 Geeks
9=
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1_______9_______2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3
Line1 Geeks
Line2 for
Line3 Geeks
2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
5
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
6

L5

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

 

L8

Line1 Geeks
Line2 for
Line3 Geeks
9=
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1_______9_______2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3
Line1 Geeks
Line2 for
Line3 Geeks
2
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
7
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
6

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_______149_______
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
5

 

Line1 Geeks
Line2 for
Line3 Geeks
01
Line1 Geeks
Line2 for
Line3 Geeks
02
Line1 Geeks
Line2 for
Line3 Geeks
03

# Python code to1_______26_______3# Python code to3= # Python code to5

 

# Python code to1____0_______11

# Python code to1_______26_______8=

Line1 Geeks
Line2 for
Line3 Geeks
15

 

# Python code to1____0_______18

# Python code to1____0_______20

# Python code to1_______0_______22

Line1 Geeks
Line2 for
Line3 Geeks
23
Line1 Geeks
Line2 for
Line3 Geeks
24

Line1 Geeks
Line2 for
Line3 Geeks
25
Line1 Geeks
Line2 for
Line3 Geeks
26

# Python code to1_______145_______7

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
2# Python code to9# demonstrate readlines[]0# demonstrate readlines[]1# demonstrate readlines[]2

 

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

đầu ra.  

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 vòng lặp for

Một đối tượng có thể lặp lại được trả về bởi hàm open[] trong khi mở tệp. Cách cuối cùng này để đọc tệp theo từng dòng bao gồm việc lặp qua một đối tượng tệp trong một vòng lặp. Khi làm điều này, chúng ta đang tận dụng lợi thế của hàm Python tích hợp cho phép chúng ta lặp lại hoàn toàn đối tượng tệp bằng cách sử dụng vòng lặp for 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ần ít dòng mã hơn, đây luôn là cách thực hành tốt nhất đáng làm theo

Thí dụ

Python3




# demonstrate readlines[]3

Line1 Geeks
Line2 for
Line3 Geeks
37

Line1 Geeks
Line2 for
Line3 Geeks
38

 

L=

Line1 Geeks
Line2 for
Line3 Geeks
0
Line1 Geeks
Line2 for
Line3 Geeks
1
Line1 Geeks
Line2 for
Line3 Geeks
2
Line1 Geeks
Line2 for
Line3 Geeks
3
Line1 Geeks
Line2 for
Line3 Geeks
2
Line1 Geeks
Line2 for
Line3 Geeks
1
Line1 Geeks
Line2 for
Line3 Geeks
6

 

Line1 Geeks
Line2 for
Line3 Geeks
50

Line1 Geeks
Line2 for
Line3 Geeks
9=
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1_______9_______2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3
Line1 Geeks
Line2 for
Line3 Geeks
2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
5
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
6

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

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

 

Line1 Geeks
Line2 for
Line3 Geeks
62

Line1 Geeks
Line2 for
Line3 Geeks
9=
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1_______9_______2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3
Line1 Geeks
Line2 for
Line3 Geeks
2
['Geeks\n', 'For\n', 'Geeks']
['Geeks', 'For', 'Geeks']
7
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
6

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_______149_______
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
5

 

Line1 Geeks
Line2 for
Line3 Geeks
75

# Python code to7

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

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
7
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
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
9
Line1 Geeks
Line2 for
Line3 Geeks
83

# Python code to1_______26_______3# Python code to3= # Python code to5

# Python code to1_______145_______7

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
2# Python code to9# demonstrate readlines[]0# demonstrate readlines[]1# demonstrate readlines[]2

 

Line1 Geeks
Line2 for
Line3 Geeks
97

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

đầu ra

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

Phương pháp 4. Đọc từng dòng tệp bằng cách sử dụng vòng lặp for và hiểu danh sách

Việc hiểu danh sách 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 for để lặp qua từng phần tử. Ở đây, chúng tôi sẽ đọc tệp văn bản và in dữ liệu thô bao gồm ký tự dòng mới trong một đầu ra khác, chúng tôi đã xóa tất cả các ký tự dòng mới khỏi danh sách

Thí dụ

Python3




Line1 Geeks
Line2 for
Line3 Geeks
99
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
03

# Python code to1_______9_______05=

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
07
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
7
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
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
9
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
11

 

# Python code to7

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

 

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

Line1 Geeks
Line2 for
Line3 Geeks
99
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
1
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
2
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
3
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
03

# Python code to1_______9_______05=

Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
25
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
7
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
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
9
Using for loop
Line1: Geeks
Line2: for
Line3: Geeks
11

 

# Python code to7

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

đầu ra

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

Với tuyên bố

Trong các cách tiếp cận trên, mỗi khi tệp được mở, tệp cần được đóng một cách rõ ràng. Nếu một người quên đóng tệp, nó có thể gây ra một số lỗi trong mã, tôi. e. nhiều thay đổi trong tệp không có hiệu lực cho đến khi tệp được đóng đúng cách. Để ngăn chặn điều này với tuyên bố có thể được sử dụng. Câu lệnh With trong Python được sử dụng trong xử lý ngoại lệ để làm cho mã sạch hơn và dễ đọc hơn nhiều. Nó đơn giản hóa việc quản lý các tài nguyên phổ biến như luồng tệp. Quan sát ví dụ mã sau đây về cách sử dụng câu lệnh with làm cho mã sạch hơn. Không cần phải gọi tập tin. close[] khi sử dụng với câu lệnh. Bản thân câu lệnh with đảm bảo việc thu thập và giải phóng tài nguyên phù hợp

Open[] trong Python là gì?

Open[] làm gì trong Python? . Vì vậy, hàm open[] thực hiện đúng như tên gọi của nó – hàm này mở một tệp cho bạn để bạn có thể làm việc với tệp đó .

Làm cách nào chúng ta có thể sử dụng câu lệnh with trong khi mở tệp bằng Python?

Chúng ta có thể sử dụng câu lệnh with trong Python để không phải đóng trình xử lý tệp. Câu lệnh with tạo một trình quản lý bối cảnh và nó sẽ tự động đóng trình xử lý tệp cho bạn khi bạn hoàn thành nó. Đây là một ví dụ sử dụng câu lệnh with để đọc tất cả các dòng của tệp

Bạn có thể mở một tệp trong hàm Python không?

Python có hàm open[] tích hợp sẵn để mở tệp . Hàm này trả về một đối tượng tệp, còn được gọi là tay cầm, vì nó được sử dụng để đọc hoặc sửa đổi tệp cho phù hợp. Chúng tôi có thể chỉ định chế độ trong khi mở tệp. Trong chế độ, chúng tôi chỉ định xem chúng tôi muốn đọc r , viết w hay nối a vào tệp.

Làm cách nào để mở tệp bằng Python?

Hàm chính để làm việc với tệp trong Python là hàm open[] . Hàm open[] nhận hai tham số; .

Chủ Đề