Hàm đọc tệp Python

Bạn trả lại

Python
C
C++
Java
Kotlin
05, nhưng sau đó vứt nó đi ngay lập tức khi bạn không gán cuộc gọi của
Python
C
C++
Java
Kotlin
06 cho bất kỳ thứ gì

result = read_file[...]

Bây giờ

Python
C
C++
Java
Kotlin
07 đã có danh sách hồ sơ của bạn

Tuy nhiên, xin lưu ý rằng những gì bạn dự định làm là chuyển một danh sách dựng sẵn vào hàm và để nó tổng hợp kết quả ở đó. Bạn có thể làm điều đó, nhưng đó gần như chắc chắn không phải là điều bạn muốn làm. Chỉ cần xóa dòng đó trong định nghĩa hàm

Chúng ta đã thấy trong Hướng dẫn xử lý tệp Python của mình rằng cách chúng ta có thể thực hiện các thao tác khác nhau trong và trên một tệp bằng cách sử dụng lập trình Python

Một trong những thao tác là đọc từ tệp đã được tạo. Ở đây chúng ta sẽ giải thích chi tiết về quy trình và xem xét các phương pháp khác nhau mà chúng ta có thể đọc một tệp trực tiếp bằng Python

Các phương pháp khác nhau để đọc từ một tệp trong Python

Trước khi chuyển ngay sang các phương pháp đọc tệp, chúng ta phải quan tâm đến một số điều. Trước hết, để đọc, sự tồn tại của tệp là rất quan trọng. Thứ hai, chế độ mở tệp cũng quan trọng. Có nhiều chế độ khác nhau trong đó một tệp có thể được mở trong lập trình Python, cụ thể là,

  • Python
    C
    C++
    Java
    Kotlin
    
    08 – chỉ đọc
  • Python
    C
    C++
    Java
    Kotlin
    
    09 – chỉ viết
  • Python
    C
    C++
    Java
    Kotlin
    
    0– chỉ nối thêm
  • Python
    C
    C++
    Java
    Kotlin
    
    1 – đọc cũng như viết
  • Python
    C
    C++
    Java
    Kotlin
    
    2 – viết cũng như đọc
  • Python
    C
    C++
    Java
    Kotlin
    
    3 – nối thêm cũng như đọc

Trong số tất cả các chế độ khác nhau có sẵn để mở tệp, nội dung tệp có thể ở chế độ chỉ đọc ở chế độ

Python
C
C++
Java
Kotlin
08,
Python
C
C++
Java
Kotlin
1,
Python
C
C++
Java
Kotlin
2 và
Python
C
C++
Java
Kotlin
3. Sau khi chúng tôi chắc chắn rằng một tệp tồn tại và mở nó ở chế độ có thể đọc được, chúng tôi có thể đi xa hơn đến các chức năng hoặc phương thức khác nhau được sử dụng để đọc nội dung tệp

1. đọc [] bằng Python

Phương thức

Python
C
C++
Java
Kotlin
8 trong Python là một hàm được xác định trước, trả về dữ liệu đã đọc ở dạng chuỗi. Cú pháp của phương thức
Python
C
C++
Java
Kotlin
8 là,

file_open_object. đọc [ n ]

Trong đó file_open_object là đối tượng được tạo trong khi mở một tệp cụ thể,

và 'n' là số byte được đọc từ tệp. Trong trường hợp n không được chỉ định, hàm

Python
C
C++
Java
Kotlin
8 sẽ đọc toàn bộ tệp

nội dung new_file

Coi nội dung cần đọc thuộc về tệp hình trên, có tên new_file. txt. Do đó, sử dụng

Python
C
C++
Java
Kotlin
8, chúng ta có thể đọc thông tin có trong new_file. Hãy để chúng tôi xem làm thế nào chúng ta có thể làm điều đó,

Python
C
C++
Java
Kotlin
2

đầu ra

Python
C
C++
Java
Kotlin

Một lần nữa để đọc một số byte cụ thể, chúng ta có thể sử dụng

Python
C
C++
Java
Kotlin
8 theo cách sau,

Python
C
C++
Java
Kotlin
5

đầu ra

Python
C
C++
Java
Kotlin
6

2. dòng đọc [] trong Python

Python
C
C++
Java
Kotlin
53 là một phương thức được xác định trước khác trong Python, trả về một dòng đã đọc ở dạng chuỗi. Dưới đây là cú pháp của hàm
Python
C
C++
Java
Kotlin
53,

file_open_object. dòng đọc[ n ]

Tương tự, ở đây file_open_object là đối tượng được tạo khi mở tệp và ‘n’ là số byte mà hàm sẽ đọc gần hết. Đáng chú ý, nếu n vượt quá độ dài của một dòng, hàm sẽ không xem xét dòng tiếp theo. Hãy xem xét kỹ hơn việc sử dụng chức năng,

Python
C
C++
Java
Kotlin
9

đầu ra

Python
C
C++
Java
Kotlin
0

Điểm chú ý. Ở đây dòng mới [

Python
C
C++
Java
Kotlin
55] cũng được coi là một ký tự

3. đường đọc [] Trong Python

Python
C
C++
Java
Kotlin
56 đọc tất cả các dòng có trong một tệp đã chỉ định và trả về một danh sách chứa các dạng chuỗi của các dòng đã đọc. Đưa ra dưới đây là cú pháp,

Tập tin ở khắp mọi nơi. trên máy tính, thiết bị di động và trên đám mây. Làm việc với các tệp là điều cần thiết đối với mọi lập trình viên, bất kể bạn đang sử dụng ngôn ngữ lập trình nào

Xử lý tệp là một cơ chế để tạo tệp, ghi dữ liệu và đọc dữ liệu từ tệp. Tin vui là Python được làm giàu với các gói để xử lý các loại tệp khác nhau

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách xử lý các loại tệp khác nhau. Tuy nhiên, chúng tôi sẽ tập trung nhiều hơn vào việc đọc tệp bằng Python

Sau khi bạn hoàn thành hướng dẫn này, bạn sẽ biết cách thực hiện những điều sau

  • Mở tệp và sử dụng trình quản lý ngữ cảnh
    Python
    C
    C++
    Java
    Kotlin
    
    34
  • Chế độ tệp trong Python
  • Đọc văn bản
  • Đọc tệp CSV
  • Đọc tệp JSON

Hãy đi sâu vào

Mở một tệp

Trước khi truy cập nội dung của một tệp ta cần mở tệp. Python cung cấp sẵn một hàm giúp chúng ta mở file ở các chế độ khác nhau. Hàm

Python
C
C++
Java
Kotlin
35 chấp nhận hai tham số cần thiết. tên tệp và chế độ; . Các chế độ xác định cách chúng tôi có thể truy cập tệp và cách chúng tôi có thể thao tác với nội dung của nó. Hàm
Python
C
C++
Java
Kotlin
35 cung cấp một vài chế độ khác nhau mà chúng ta sẽ thảo luận sau trong hướng dẫn này

Đầu tiên, hãy thử chức năng bằng cách mở một tệp văn bản. Tải xuống tệp văn bản chứa Zen of Python và lưu trữ tệp đó trong cùng đường dẫn với mã của bạn

Python
C
C++
Java
Kotlin
7____23

Trong đoạn mã trên, hàm

Python
C
C++
Java
Kotlin
35 mở tệp văn bản ở chế độ đọc, cho phép chúng tôi lấy thông tin từ tệp mà không vô tình thay đổi nó. Ở dòng đầu tiên, đầu ra của hàm
Python
C
C++
Java
Kotlin
35 được gán cho biến
Python
C
C++
Java
Kotlin
10, một đối tượng đại diện cho tệp văn bản. Trong dòng thứ hai của mã ở trên, chúng tôi sử dụng phương pháp
Python
C
C++
Java
Kotlin
11 để đọc toàn bộ tệp và in nội dung của nó. Phương thức
Python
C
C++
Java
Kotlin
12 đóng tệp ở dòng cuối cùng. Chúng tôi phải luôn đóng các tệp đã mở sau khi hoàn thành chúng để giải phóng tài nguyên máy tính của chúng tôi và tránh đưa ra các ngoại lệ

Trong Python, chúng ta có thể sử dụng trình quản lý ngữ cảnh

Python
C
C++
Java
Kotlin
34 để đảm bảo chương trình giải phóng các tài nguyên được sử dụng sau khi đóng tệp, ngay cả khi đã xảy ra ngoại lệ. Hãy thử nó

Python
C
C++
Java
Kotlin
5
Python
C
C++
Java
Kotlin
3

Đoạn mã trên tạo ngữ cảnh bằng cách sử dụng câu lệnh

Python
C
C++
Java
Kotlin
34 rằng đối tượng tệp không còn mở ngoài ngữ cảnh. Biến ràng buộc,
Python
C
C++
Java
Kotlin
10, đại diện cho đối tượng tệp mà tất cả các phương thức của đối tượng tệp đều có thể truy cập thông qua biến. Phương thức
Python
C
C++
Java
Kotlin
11 đọc toàn bộ tệp ở dòng thứ hai, sau đó hàm
Python
C
C++
Java
Kotlin
17 xuất nội dung tệp

Khi chương trình đến cuối ngữ cảnh khối câu lệnh

Python
C
C++
Java
Kotlin
34, nó sẽ đóng tệp để giải phóng tài nguyên và đảm bảo rằng các chương trình khác có thể sử dụng chúng. Nói chung, sử dụng câu lệnh
Python
C
C++
Java
Kotlin
34 là một phương pháp rất được khuyến khích khi bạn đang làm việc với các đối tượng cần đóng ngay khi chúng không còn cần thiết, chẳng hạn như tệp, cơ sở dữ liệu và kết nối mạng

Lưu ý rằng chúng tôi có quyền truy cập vào biến

Python
C
C++
Java
Kotlin
10 ngay cả sau khi thoát khỏi khối trình quản lý ngữ cảnh
Python
C
C++
Java
Kotlin
34; . Hãy thử một số thuộc tính của đối tượng tệp để xem liệu biến đó có còn tồn tại và có thể truy cập được không

Python
C
C++
Java
Kotlin
1
Python
C
C++
Java
Kotlin
6

Tuy nhiên, không thể đọc từ tệp hoặc ghi vào tệp. Khi một tệp bị đóng, mọi nỗ lực truy cập nội dung của nó đều dẫn đến lỗi sau

Python
C
C++
Java
Kotlin
7
Python
C
C++
Java
Kotlin
8

Chế độ tệp trong Python

Như chúng tôi đã đề cập trong phần trước, chúng tôi cần chỉ định chế độ trong khi mở tệp. Bảng sau đây cho thấy các chế độ tệp khác nhau trong Python

Chế độ Mô tả
Python
C
C++
Java
Kotlin
36Nó mở tệp chỉ để đọc.
Python
C
C++
Java
Kotlin
63Nó mở một tập tin để viết. Nếu tệp tồn tại, nó sẽ ghi đè lên nó, nếu không, nó sẽ tạo một tệp mới.
Python
C
C++
Java
Kotlin
64Nó mở một tệp chỉ để nối thêm. Nếu tệp không tồn tại, nó sẽ tạo tệp.
Python
C
C++
Java
Kotlin
65Nó tạo một tệp mới. Nếu tệp tồn tại, nó không thành công.
Python
C
C++
Java
Kotlin
66Nó mở một tệp để cập nhật

Chúng tôi cũng có thể chỉ định mở tệp ở chế độ văn bản,

Python
C
C++
Java
Kotlin
67, chế độ mặc định hoặc chế độ nhị phân,
Python
C
C++
Java
Kotlin
68. Hãy xem cách chúng ta có thể sao chép tệp hình ảnh, dataquest_logo. png, sử dụng các câu lệnh đơn giản

Python
C
C++
Java
Kotlin
6

Đoạn mã trên sao chép hình ảnh logo Dataquest và lưu trữ nó trong cùng một đường dẫn. Chế độ

Python
C
C++
Java
Kotlin
69 mở tệp để đọc ở chế độ nhị phân và chế độ
Python
C
C++
Java
Kotlin
70 mở tệp để ghi ở chế độ văn bản

Đọc tệp văn bản

Có nhiều cách khác nhau để đọc tệp văn bản. Phần này sẽ xem xét một số phương pháp hữu ích để đọc nội dung của tệp văn bản

Cho đến giờ, chúng ta đã biết toàn bộ nội dung của một tệp có thể được đọc bằng phương thức

Python
C
C++
Java
Kotlin
11. Điều gì sẽ xảy ra nếu chúng ta chỉ muốn đọc một vài byte từ tệp văn bản. Để làm điều đó, hãy chỉ định số byte trong phương thức
Python
C
C++
Java
Kotlin
11. Hãy thử nó

Python
C
C++
Java
Kotlin
1
Python
C
C++
Java
Kotlin
30

Đoạn mã đơn giản ở trên đọc 17 byte đầu tiên của zen_of_python. txt và in chúng ra

Đôi khi, việc đọc nội dung của tệp văn bản từng dòng một sẽ có ý nghĩa hơn. Trong trường hợp này, chúng ta có thể sử dụng phương pháp

Python
C
C++
Java
Kotlin
73. Hãy làm nó

Python
C
C++
Java
Kotlin
31
Python
C
C++
Java
Kotlin
32

Đoạn mã trên trả về dòng đầu tiên của tệp. Nếu chúng ta gọi phương thức một lần nữa, nó sẽ trả về dòng thứ hai trong tệp, v.v. , như sau

Python
C
C++
Java
Kotlin
33
Python
C
C++
Java
Kotlin
34

Phương pháp hữu ích này giúp chúng tôi đọc toàn bộ tệp dần dần. Đoạn mã sau xuất toàn bộ tệp bằng cách lặp lại từng dòng cho đến khi con trỏ tệp theo dõi vị trí chúng tôi đang đọc hoặc ghi tệp đến cuối tệp. Khi phương thức

Python
C
C++
Java
Kotlin
73 đến cuối tệp, nó sẽ trả về một chuỗi rỗng,
Python
C
C++
Java
Kotlin
75. với open[‘zen_of_python. txt'] dưới dạng f

Python
C
C++
Java
Kotlin
35
Python
C
C++
Java
Kotlin
3

Đoạn mã trên đọc dòng đầu tiên của tệp bên ngoài vòng lặp while và gán nó cho biến

Python
C
C++
Java
Kotlin
76. Bên trong vòng lặp while, nó in chuỗi được lưu trữ trong biến
Python
C
C++
Java
Kotlin
76, sau đó đọc dòng tiếp theo của tệp. Vòng lặp while lặp lại quy trình cho đến khi phương thức
Python
C
C++
Java
Kotlin
73 trả về một chuỗi rỗng. Chuỗi trống đánh giá là
Python
C
C++
Java
Kotlin
79 trong vòng lặp while, do đó quá trình lặp kết thúc

Phương pháp hữu ích khác để đọc tệp văn bản là phương pháp

Python
C
C++
Java
Kotlin
80. Áp dụng phương thức này trên một đối tượng tệp sẽ trả về một danh sách các chuỗi chứa từng dòng của tệp. Hãy xem nó hoạt động như thế nào

Python
C
C++
Java
Kotlin
37

Hãy kiểm tra kiểu dữ liệu của biến

Python
C
C++
Java
Kotlin
81 rồi in ra

Python
C
C++
Java
Kotlin
38
Python
C
C++
Java
Kotlin
39

Đó là danh sách các chuỗi trong đó mỗi mục trong danh sách là một dòng của tệp văn bản. Ký tự thoát

Python
C
C++
Java
Kotlin
82 đại diện cho một dòng mới trong tệp. Ngoài ra, chúng tôi có thể truy cập mọi mục trong danh sách bằng cách lập chỉ mục hoặc cắt hoạt động

Python
C
C++
Java
Kotlin
50
Python
C
C++
Java
Kotlin
51

Đọc tệp CSV

Cho đến giờ, chúng ta đã học cách làm việc với các tệp văn bản thông thường. Tuy nhiên, đôi khi dữ liệu có định dạng CSV và các chuyên gia dữ liệu thường truy xuất thông tin cần thiết và thao tác với nội dung của tệp CSV

Chúng tôi sẽ sử dụng mô-đun CSV trong phần này. Mô-đun CSV cung cấp các phương pháp hữu ích để đọc các giá trị được phân tách bằng dấu phẩy được lưu trữ trong tệp CSV. Chúng tôi sẽ thử ngay bây giờ, nhưng trước tiên, bạn cần tải xuống tệp

Python
C
C++
Java
Kotlin
83 và lưu trữ tệp đó trong thư mục làm việc hiện tại

Python
C
C++
Java
Kotlin
52
Python
C
C++
Java
Kotlin
53

Mỗi hàng của tệp CSV tạo thành một danh sách trong đó có thể dễ dàng truy cập mọi mục, như sau

Python
C
C++
Java
Kotlin
54
Python
C
C++
Java
Kotlin
55

Có thể sử dụng tên của các cột thay vì sử dụng các chỉ mục của chúng, điều này thường thuận tiện hơn cho các nhà phát triển. Trong trường hợp này, thay vì sử dụng phương thức

Python
C
C++
Java
Kotlin
84, chúng tôi sử dụng phương thức
Python
C
C++
Java
Kotlin
85 trả về một tập hợp các đối tượng từ điển. Hãy thử nó

Python
C
C++
Java
Kotlin
56
Python
C
C++
Java
Kotlin
57

Đọc tệp JSON

Một định dạng tệp phổ biến khác mà chúng tôi chủ yếu sử dụng để lưu trữ và trao đổi dữ liệu là JSON. JSON là viết tắt của JavaScript Object Notation và nó cho phép chúng ta lưu trữ dữ liệu với các cặp khóa-giá trị được phân tách bằng dấu phẩy

Trong phần này, chúng ta sẽ tải một tệp JSON và làm việc với nó dưới dạng đối tượng JSON — không phải dưới dạng tệp văn bản. Để làm điều đó, chúng ta cần nhập mô-đun JSON. Sau đó, trong trình quản lý ngữ cảnh

Python
C
C++
Java
Kotlin
34, chúng tôi sử dụng phương thức
Python
C
C++
Java
Kotlin
87 thuộc về đối tượng
Python
C
C++
Java
Kotlin
88. Nó tải nội dung của tệp và lưu trữ nó trong biến
Python
C
C++
Java
Kotlin
89 dưới dạng từ điển. Hãy thử nó, nhưng trước khi chạy mã, hãy tải xuống tệp
Python
C
C++
Java
Kotlin
60 và đặt nó vào thư mục làm việc hiện tại

Python
C
C++
Java
Kotlin
58
Python
C
C++
Java
Kotlin
59

Hãy kiểm tra kiểu dữ liệu của biến

Python
C
C++
Java
Kotlin
61

Python
C
C++
Java
Kotlin
30
Python
C
C++
Java
Kotlin
31

Kiểu dữ liệu của nó là từ điển. Vì vậy, chúng tôi có thể truy cập từng phần thông tin được lưu trữ trong tệp JSON bằng khóa của nó. Hãy xem làm thế nào chúng ta có thể lấy dữ liệu từ nó

Python
C
C++
Java
Kotlin
32
Python
C
C++
Java
Kotlin
33

Phần kết luận

Hướng dẫn này đã thảo luận về xử lý tệp bằng Python, tập trung vào việc đọc nội dung của tệp. Bạn đã tìm hiểu về hàm tích hợp open[], trình quản lý ngữ cảnh và cách đọc các loại tệp phổ biến như văn bản, CSV và JSON

hướng dẫn python

Giới thiệu về tác giả

Mehdi Lotfinejad

Mehdi là Kỹ sư dữ liệu cao cấp và Trưởng nhóm tại ADA. Anh ấy là một huấn luyện viên chuyên nghiệp, người thích viết các hướng dẫn phân tích dữ liệu

Hàm read[] trong Python là gì?

Phương thức đọc tệp Python[] . Mặc định là -1 có nghĩa là toàn bộ tập tin. returns the specified number of bytes from the file. Default is -1 which means the whole file.

Hàm nào được sử dụng để đọc dữ liệu từ tệp trong Python?

Python có chức năng 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 để đọc đầu vào từ tệp trong Python?

Có 6 chế độ truy cập trong python. .
Chỉ đọc ['r']. Mở tệp văn bản để đọc. .
Đọc và Viết ['r+']. Mở tệp để đọc và ghi. .
Chỉ viết ['w']. Mở tệp để ghi. .
Viết và Đọc ['w+']. Mở tệp để đọc và ghi. .
Chỉ nối thêm ['a']. Mở tệp để ghi

Chủ Đề