Đọc ghi file và xử lý ngoại lệ trong Python
Đọc ghi file và xử lý ngoại lệ là kỹ năng cần thiết khi xây dựng chương trình Python thực tế. Bạn có thể lưu dữ liệu vào file và giúp chương trình không bị dừng đột ngột khi xảy ra lỗi.
Nội dung này phù hợp sau khi bạn đã nắm câu lệnh điều kiện if else và các kiến thức Python cơ bản.
Mở file bằng open
file = open("notes.txt", "r", encoding="utf-8")
content = file.read()
file.close()
print(content)
Tham số r dùng để đọc, w ghi đè, a ghi nối thêm và x tạo file mới. Nên chỉ rõ encoding để xử lý tiếng Việt chính xác.
Dùng with để tự đóng file
with open("notes.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)
with giúp file tự động được đóng sau khi kết thúc khối lệnh, kể cả khi có lỗi xảy ra.
Đọc từng dòng
with open("notes.txt", encoding="utf-8") as file:
for line in file:
print(line.strip())
Ghi dữ liệu vào file
with open("result.txt", "w", encoding="utf-8") as file:
file.write("Dòng đầu tiên\n")
file.write("Dòng thứ hai\n")
Chế độ w sẽ xóa nội dung cũ. Nếu muốn giữ nội dung hiện có và ghi thêm, hãy dùng chế độ a.
Xử lý lỗi với try except
try:
number = int(input("Nhập số: "))
print(10 / number)
except ValueError:
print("Bạn cần nhập một số")
except ZeroDivisionError:
print("Không thể chia cho 0")
Nên bắt các ngoại lệ cụ thể thay vì dùng except trống, vì bắt lỗi quá rộng có thể che giấu nguyên nhân thật.
else và finally
try:
result = 10 / 2
except ZeroDivisionError:
print("Lỗi chia 0")
else:
print(result)
finally:
print("Đã hoàn tất")
else chạy khi không có lỗi, còn finally luôn chạy và thường dùng để dọn dẹp tài nguyên.
Tạo lỗi chủ động với raise
def check_age(age):
if age < 0:
raise ValueError("Tuổi không hợp lệ")
return age
Bài tập thực hành
Hãy viết chương trình lưu danh sách công việc vào file, đọc lại danh sách khi khởi động và xử lý trường hợp file chưa tồn tại bằng FileNotFoundError.
Kết luận
with open giúp thao tác file an toàn, còn try except giúp chương trình phản hồi tốt trước dữ liệu không hợp lệ. Hãy ưu tiên bắt lỗi cụ thể và luôn đóng tài nguyên đúng cách.
Từ khoá: doc ghi file va xu ly ngoai le trong python, đọc ghi file Python, try except Python, xử lý ngoại lệ Python, with open