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

Trong hướng dẫn này, bạn tìm hiểu cách đọc tệp một cách an toàn trong Python. Ngoài ra, bạn sẽ thấy một loạt các phương pháp đọc tệp hữu ích, bao gồm

  • mở ra[]
  • đọc[]
  • dòng đọc []
  • đường đọc []

Tệp trong góc nhìn của máy tính là gì?

Trước khi đọc một tệp, bạn cần tìm hiểu sâu hơn về thế giới tệp

Điều này là do bạn muốn biết chương trình máy tính nhìn thấy gì khi xử lý tệp

Điều này giúp bạn hiểu và xây dựng logic đọc tệp dễ dàng hơn

Về cơ bản, một tệp là một tập hợp các byte được sử dụng để lưu trữ dữ liệu. Dữ liệu byte này được tổ chức theo một định dạng đặc biệt để tạo thành một tệp. Tệp có thể đơn giản như tệp văn bản hoặc phức tạp hơn như tệp chương trình thực thi

Cho dù bạn có loại tệp nào, cuối cùng, nó được chuyển đổi thành 0 và 1 để máy tính hiểu

Một tập tin bao gồm ba phần chính

  1. tiêu đề. Tiêu đề bao gồm siêu dữ liệu về tệp, chẳng hạn như tên, kích thước, loại, v.v.
  2. Dữ liệu. Nội dung của tập tin
  3. Cuối Tệp [EOF]. Một ký tự ẩn đặc biệt làm nổi bật phần cuối của tệp

Trong hướng dẫn này, chúng tôi sẽ chỉ làm việc với. tập tin txt. Tuy nhiên, hãy nhớ rằng có hàng nghìn phần mở rộng tệp khác nhau

Đường dẫn tệp

Bất cứ khi nào bạn cố gắng truy cập một tệp trên hệ thống của mình, bạn cần chỉ định đường dẫn đến tệp

Như vậy, nếu chỉ gọi tệp bằng tên của nó thì chưa đủ

Đường dẫn tệp không là gì ngoài một chuỗi trỏ đến vị trí của tệp

Đường dẫn tệp có thể được chia thành ba phần

  1. Đường dẫn thư mục. Vị trí của thư mục trong hệ thống tệp. Các thư mục tiếp theo được phân tách bằng dấu gạch chéo ngược [/] hoặc dấu gạch chéo xuôi [\] tùy thuộc vào hệ thống của bạn
  2. tên tệp. tên của tập tin
  3. Sự mở rộng. Cuối tệp có dấu “. ", Như là. txt hoặc. jpeg. Điều này xác định loại tệp trong câu hỏi

Một ví dụ về đường dẫn tệp có thể giống như

Desktop/Projects/FileReader/example.py

Khi bạn viết chương trình Python để đọc tệp, bạn cần biết đường dẫn của tệp. Sau đó, bạn cần làm cho chương trình đọc nội dung của tệp cho đến khi đạt đến ký tự EOF

Điều này nghe có vẻ phức tạp hơn thực tế

Python thực hiện rất nhiều tự động hóa đằng sau hậu trường cho bạn. Điều này giúp bạn có thể đọc toàn bộ tệp có 2 dòng mã, như bạn sẽ thấy

Hãy bắt đầu đọc các tệp Python

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

Một trong những tác vụ phổ biến nhất trong Python là đọc/ghi vào tệp bên ngoài

Đây có thể là một cái gì đó đơn giản, chẳng hạn như một tệp văn bản. Nhưng một tệp có thể phức tạp hơn, chẳng hạn như nhật ký máy chủ hoặc tệp byte

Để xử lý bất kỳ tệp nào trong số này, bạn cần hiểu cách đọc và ghi tệp bằng Python

Trong hướng dẫn này, chúng tôi sẽ tập trung vào việc đọc các tập tin

Đọc tệp văn bản vào chương trình Python của bạn theo quy trình này

  1. Mở tệp bằng hàm open[] tích hợp bằng cách chỉ định đường dẫn của tệp vào lệnh gọi
  2. Đọc văn bản từ tệp bằng một trong các phương pháp này. read[], readline[], readlines[]
  3. Đóng tệp bằng phương thức close[]. Bạn có thể để Python xử lý đóng tệp tự động bằng cách mở tệp bằng câu lệnh with

1. Cách sử dụng hàm open[] trong Python

Cú pháp cơ bản để gọi hàm open[] là

open[path_to_a_file, mode]

Ở đâu

  • path_to_a_file là đường dẫn đến tệp bạn muốn mở. Ví dụ: Máy tính để bàn/Python/ví dụ. txt. Nếu tệp chương trình python của bạn nằm trong cùng thư mục với tệp văn bản, thì đường dẫn chỉ là tên của tệp
  • chế độ chỉ định bạn muốn mở tệp ở trạng thái nào. Có nhiều lựa chọn. Nhưng khi bạn muốn đọc một tệp, bạn chỉ cần chế độ 'r'

Hàm open[] trả về một đối tượng tệp có thể lặp lại mà bạn có thể dễ dàng đọc nội dung của tệp

Chẳng hạn, nếu bạn có một tệp có tên là ví dụ. txt trong cùng thư mục với tệp mã của bạn, bạn có thể mở nó bằng cách

file = open["example.txt", "r"]

Bây giờ tệp đã được mở, nhưng chưa được sử dụng theo bất kỳ cách hữu ích nào

Tiếp theo, chúng ta hãy xem cách thực sự đọc tệp đã mở trong Python

2. Phương pháp đọc tệp trong Python

Để đọc một tệp đã mở, hãy tập trung vào ba phương pháp đọc văn bản khác nhau. read[], readline[], và readlines[]

  • read[] đọc tất cả văn bản từ một tệp thành một chuỗi và trả về chuỗi
  • readline[] đọc từng dòng tệp và trả về mỗi dòng dưới dạng một chuỗi riêng biệt
  • readlines[] đọc tệp theo từng dòng và trả về toàn bộ tệp dưới dạng danh sách các chuỗi, trong đó mỗi chuỗi là một dòng từ tệp

Sau này bạn sẽ xem các ví dụ về từng phương pháp này

Chẳng hạn, hãy đọc nội dung của một tệp có tên “ví dụ. txt” thành một biến dưới dạng chuỗi

file = open["example.txt"]
contents = file.read[]

Bây giờ biến nội dung có bất cứ thứ gì bên trong tệp dưới dạng một chuỗi dài

3. Luôn đóng tệp trong Python

Trong Python, một tệp đã mở vẫn mở miễn là bạn không đóng nó. Vì vậy, hãy đảm bảo đóng tệp sau khi sử dụng. Điều này có thể được thực hiện với phương thức close[]. Điều này rất quan trọng vì chương trình có thể bị lỗi hoặc tệp có thể bị hỏng nếu để mở

file.close[]

Bạn cũng có thể để Python xử lý việc đóng tệp bằng cách sử dụng câu lệnh with khi xử lý tệp. Trong trường hợp này, bạn hoàn toàn không cần phương thức close[]

Cấu trúc câu lệnh with trông như thế này

with open[path_to_file] as file:
    #read the file here

Sử dụng câu lệnh with rất tiện lợi và thông thường, vì vậy chúng ta sẽ sử dụng nó trong phần còn lại của hướng dẫn

Bây giờ bạn đã hiểu những kiến ​​thức cơ bản về đọc tệp trong Python. Tiếp theo, chúng ta hãy xem hoạt động đọc tệp bằng cách sử dụng các chức năng đọc khác nhau

Sử dụng Phương thức đọc tệp trong Python

Để lặp lại các ví dụ sau, hãy tạo một thư mục có hai tệp sau

  • Người đọc. tệp py để đọc tệp văn bản
  • Một ví dụ. txt từ nơi chương trình của bạn đọc văn bản

Ngoài ra, viết một số văn bản trên nhiều dòng vào ví dụ. tập tin txt

Phương thức read[] trong Python

Để đọc một tệp thành một chuỗi, hãy sử dụng phương thức read[]. Như đã thảo luận ở trên, điều này đọc bất cứ thứ gì có trong tệp dưới dạng một chuỗi dài vào chương trình của bạn

Ví dụ: hãy đọc và in ra nội dung của ví dụ. tập tin txt

with open["example.txt"] as file:
    contents = file.read[]
    print[contents]

Chạy đoạn mã này sẽ hiển thị nội dung của ví dụ. txt trong bảng điều khiển

Hi
This is just an example
I demonstrate reading lines

Phương thức readline[] trong Python

Để đọc một tệp một dòng tại một thời điểm, hãy sử dụng phương thức readline[]. Thao tác này đọc dòng hiện tại trong tệp đã mở và di chuyển con trỏ dòng tới dòng tiếp theo. Để đọc toàn bộ tệp, hãy sử dụng vòng lặp while để đọc từng dòng và di chuyển con trỏ tệp cho đến khi đến cuối tệp

Ví dụ

________số 8_______

Kết quả là, chương trình này in ra từng dòng một khi vòng lặp while tiếp tục

Desktop/Projects/FileReader/example.py
0

Phương thức readlines[] trong Python

Để đọc tất cả các dòng của tệp vào danh sách các chuỗi, hãy sử dụng phương thức readlines[]

Khi bạn đã đọc các dòng, bạn có thể lặp qua danh sách các dòng và in chúng ra chẳng hạn

Desktop/Projects/FileReader/example.py
1

Điều này sẽ hiển thị từng dòng trong bảng điều khiển

Desktop/Projects/FileReader/example.py
2

Sử dụng vòng lặp For để đọc tệp đã mở

Bạn vừa tìm hiểu về ba phương thức khác nhau mà bạn có thể sử dụng để đọc tệp trong chương trình Python của mình

Thật tốt khi nhận ra rằng hàm open[] trả về một đối tượng có thể lặp lại. Điều này có nghĩa là bạn có thể lặp qua một tệp đã mở giống như bạn lặp qua một danh sách trong Python

Ví dụ

Desktop/Projects/FileReader/example.py
3

đầu ra

Desktop/Projects/FileReader/example.py
0

Như bạn có thể thấy, bạn không cần sử dụng bất kỳ phương pháp đọc tệp tích hợp nào. Thay vào đó, bạn đã sử dụng vòng lặp for để chạy qua tệp theo từng dòng

Phần kết luận

Hôm nay bạn đã học cách đọc tệp văn bản trong chương trình Python của mình

Tóm lại, đọc tệp theo ba bước sau

  1. Sử dụng hàm open[] với chế độ 'r' để mở tệp văn bản
  2. Sử dụng một trong ba phương pháp này. read[], readline[] hoặc readlines[] để đọc tệp
  3. Đóng tệp sau khi đọc bằng phương thức đóng[] hoặc để Python tự động thực hiện việc đó bằng cách sử dụng câu lệnh với 

Thông thường, bạn cũng có thể sử dụng câu lệnh with để đọc tệp. Điều này sẽ tự động đóng tệp cho bạn, do đó bạn không cần phải lo lắng về bước thứ 3

Làm cách nào để đọc tệp văn bản trong gấu trúc Python?

Sử dụng read_csv[] tiện ích mở rộng csv . Để đọc tệp văn bản của chúng tôi và tải nó vào DataFrame của gấu trúc, tất cả những gì chúng tôi cần cung cấp cho phương thức read_csv[] là tên tệp, dấu phân cách/dấu phân cách [trong trường hợp của chúng tôi là khoảng trắng] và hàng chứa tên cột mà .

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

Nhập dữ liệu bằng Python .
Tệp Txt [. txt] nhập numpy dưới dạng np. .
Tệp Csv [. csv] nhập gấu trúc dưới dạng pd. .
Tập tin dưa chua [. pkl] nhập picklewith open['data. pkl', 'rb'] dưới dạng tệp. .
Tệp Excel [. xlsx ] nhập gấu trúc dưới dạng pdfile = 'datafile. dữ liệu xlsx' = pd. ExcelFile[tệp]in[dữ liệu. sheet_names]

Chủ Đề