Cách đọc tệp bằng Python (Văn bản và JSON)
Tìm hiểu cách đọc tệp bằng Python. Nắm vững câu lệnh mở, dòng đọc, dòng đọc và xử lý các ngoại lệ tệp một cách an toàn.
Tổng quan
Xử lý tệp là một kỹ năng cần thiết đối với bất kỳ nhà phát triển Python nào. Đọc dữ liệu từ tệp cho phép bạn xử lý tài liệu văn bản, cấu hình, nhật ký, cơ sở dữ liệu và bộ dữ liệu có cấu trúc. Python làm cho các thao tác với tệp trở nên đơn giản hơn nhiều thông qua hàm `open()` tích hợp sẵn.
Khi làm việc với các tệp, cách thực hành quan trọng nhất là sử dụng câu lệnh `with` để tạo trình quản lý bối cảnh. Mẫu `with open(...)` đảm bảo rằng tệp được đóng an toàn và đúng cách ngay khi quá trình thực thi rời khỏi khối, ngay cả khi có ngoại lệ xảy ra bên trong. Việc quên đóng tệp có thể gây rò rỉ bộ nhớ, hỏng tệp và khóa tài nguyên khỏi các quy trình hệ thống khác.
Python cung cấp một số phương thức để đọc dữ liệu khi tệp được mở. Phương thức `.read()` trả về toàn bộ nội dung của tệp dưới dạng một chuỗi. Phương thức `.readline()` đọc một dòng duy nhất, khiến nó trở nên hoàn hảo để lặp lại các tệp khổng lồ không vừa với bộ nhớ. Phương thức `.readlines()` đọc tất cả các dòng và trả về chúng dưới dạng danh sách các chuỗi. Hiểu phương pháp nào sẽ sử dụng sẽ ngăn ngừa tình trạng cạn kiệt bộ nhớ và làm cho chương trình của bạn có khả năng mở rộng cao hơn.
Đầu ra mã & thực thi
Tập lệnh này thể hiện việc đọc nội dung tệp một cách an toàn bằng cách sử dụng trình quản lý ngữ cảnh, đọc từng dòng và xử lý lỗi.
# Writing a dummy file first
with open("sample.txt", "w") as f:
f.write("Line 1: Welcome to PyRun!\nLine 2: Python runs in the browser.\nLine 3: Clean and simple.")
# 1. Read entire file contents
with open("sample.txt", "r") as file:
content = file.read()
print("--- Entire File ---")
print(content)
# 2. Read line-by-line (Memory efficient for large files)
print("\n--- Line by Line ---")
with open("sample.txt", "r") as file:
for line in file:
print("Read line:", line.strip())--- Entire File ---
Line 1: Welcome to PyRun!
Line 2: Python runs in the browser.
Line 3: Clean and simple.
--- Line by Line ---
Read line: Line 1: Welcome to PyRun!
Read line: Line 2: Python runs in the browser.
Read line: Line 3: Clean and simple.Triển khai từng bước
- Sử dụng câu lệnh with open("filename", "r") as file để mở tệp một cách an toàn để đọc.
- Gọi file.read() để tải toàn bộ nội dung tệp vào một biến.
- Lặp lại trực tiếp trên đối tượng tệp bằng vòng lặp for để đọc từng dòng một một cách hiệu quả.
- Luôn chỉ định mã hóa (ví dụ: mã hóa="utf-8") để tương thích ký tự quốc tế.
Câu hỏi thường gặp
Tại sao tôi nên sử dụng câu lệnh with để mở tệp?
Câu lệnh with tạo trình quản lý bối cảnh tự động đóng tệp khi thoát khối, ngay cả khi xảy ra lỗi.
Làm cách nào để xử lý FileNotFoundError?
Gói câu lệnh open() của bạn trong một khối thử ngoại trừ, bắt FileNotFoundError: try: với open(...) ... ngoại trừ FileNotFoundError: print("Không tìm thấy tệp!").
Chủ đề liên quan
Tìm hiểu cách viết văn bản vào tệp bằng Python. Nắm vững sự khác biệt giữa chế độ ghi ("w") và chắp thêm ("a") bằng trình quản lý bối cảnh an toàn.
Cách xử lý ngoại lệ trong PythonTìm hiểu cách xử lý các ngoại lệ trong Python bằng cách sử dụng các khối thử, ngoại trừ, khác và cuối cùng. Viết mã Python không có lỗi và chống lỗi.
Tài nguyên Python được đề xuất
Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.
Giải thích về biến và kiểu dữ liệu trong Python
Hiểu các biến Python và các kiểu dữ liệu cốt lõi (chuỗi, số nguyên, số float, boolean). Hướng dẫn đầy đủ cho người mới bắt đầu về gán bộ nhớ trong Python.
Bảng cheat phương pháp từ điển Python
Tìm hiểu các phương pháp từ điển Python. Hướng dẫn tham khảo đầy đủ về việc chèn, truy xuất, cập nhật và kiểm tra cặp khóa-giá trị.
Python vs JavaScript: Ngôn ngữ lập trình nào tốt nhất?
So sánh toàn diện giữa Python và JavaScript. Khám phá sự khác biệt về cú pháp, hiệu suất, trường hợp sử dụng (phụ trợ so với giao diện người dùng) và các ví dụ về mã hóa.