Python - Xử lý Tệp

Chào mừng, các nhà lập trình Python tương lai! Hôm nay, chúng ta sẽ bắt đầu hành trình thú vị vào thế giới xử lý tệp trong Python. Là người giáo viên máy tính xung quanh khu phố bạn, tôi ở đây để hướng dẫn bạn qua cuộc phiêu lưu này bước به bước. Vậy hãy mặc đôi giày leo núi ảo của bạn, và hãy khám phá bức tranh hệ thống tệp cùng nhau!

Python - File Handling

Xử lý Tệp trong Python

Việc xử lý tệp tương tự như tổ chức túi xách điện tử của bạn. Cứ như bạn sẽ lưu trữ các mặt hàng khác nhau trong túi xách của bạn, cùng với máy tính lưu thông tin trong các tệp. Trong Python, chúng ta có các công cụ tuyệt vời để làm việc với các tệp này - để đọc, ghi và quản lý chúng một cách hiệu quả.

Hãy nghĩ về việc xử lý tệp như là việc trò chuyện với máy tính của bạn. Bạn mở một tệp (bắt đầu cuộc trò chuyện), đọc hoặc ghi một số thông tin (trao đổi ý tưởng), và sau đó đóng tệp (kết thúc cuộc trò chuyện một cách lịch sự). Đó là như vậy đơn giản!

Mở Tệp trong Python

Để bắt đầu cuộc phiêu lưu xử lý tệp của chúng ta, chúng ta cần học cách mở một tệp. Trong Python, chúng ta sử dụng hàm open() để làm điều này. Đó như là đánh cửa của một ngôi nhà (tệp) và yêu cầu quyền vào.

Dưới đây là cách chúng ta thực hiện điều này:

file = open("my_diary.txt", "r")

Trong ví dụ này, chúng ta đang mở một tệp có tên "my_diary.txt" trong chế độ đọc ("r"). Đó như là nói, "Hey máy tính, tôi có thể nhìn thấy nhật ký của mình không?"

Có nhiều chế độ khác nhau để mở tệp:

  • "r" để đọc (mặc định)
  • "w" để ghi (ghi đè lên tệp)
  • "a" để thêm vào (thêm vào cuối tệp)
  • "r+" để cả đọc và ghi

Dưới đây là bảng tóm tắt các chế độ này:

Chế độ Mô tả
"r" Đọc (mặc định)
"w" Ghi (ghi đè)
"a" Thêm vào
"r+" Đọc và Ghi

Đọc Tệp trong Python

Bây giờ đã mở tệp của chúng ta, hãy đọc nội dung của nó. Hãy tưởng tượng bạn đang lật qua các trang của một cuốn sách - đó là điều chúng ta đang làm với tệp của mình!

Dưới đây là ba cách phổ biến để đọc tệp:

  1. Đọc toàn bộ tệp:

    file = open("my_diary.txt", "r")
    content = file.read()
    print(content)
  2. Đọc từng dòng:

    file = open("my_diary.txt", "r")
    for line in file:
    print(line)
  3. Đọc một số ký tự cụ thể:

    file = open("my_diary.txt", "r")
    chunk = file.read(10)  # Đọc 10 ký tự đầu tiên
    print(chunk)

Nhớ rằng, việc đọc tệp như là mở van nước - thông tin tuột ra, và bạn có thể bắt chúng bằng nhiều cách khác nhau!

Ghi vào Tệp trong Python

Việc ghi vào tệp như là việc trở thành tác giả của câu chuyện của riêng bạn. Bạn có quyền quyết định điều gì sẽ đi vào tệp. Hãy xem cách chúng ta có thể làm điều này:

file = open("shopping_list.txt", "w")
file.write("1. Táo\n")
file.write("2. Bánh mì\n")
file.write("3. Phô mai\n")

Trong ví dụ này, chúng ta đang tạo danh sách mua sắm. Mỗi lệnh write() thêm một dòng mới vào tệp của chúng ta. Đó như là viết các mặt hàng vào một cuốn sổ tay!

Đóng Tệp trong Python

Sau khi chúng ta đọc hoặc ghi xong, việc đóng tệp lại rất quan trọng. Hãy tưởng tượng nó như là đặt máy bộ sau khi kết thúc cuộc gọi. Đó là lịch sự và nó giải phóng tài nguyên cho các nhiệm vụ khác.

Dưới đây là cách chúng ta đóng tệp:

file.close()

Đơn giản phải không? Nhưng điều gì nếu chúng ta quên đóng tệp? Đó là nơi chủ đề tiếp theo của chúng ta trở nên hữu ích!

Sử dụng câu lệnh "with" để Tự động Đóng Tệp

Câu lệnh with như một người bạn trách nhiệm luôn nhớ đóng cửa sau lưng họ. Khi bạn sử dụng with, Python sẽ tự động đóng tệp cho bạn khi bạn đã hoàn thành. Đó rất tiện lợi!

Dưới đây là một ví dụ:

with open("my_diary.txt", "r") as file:
content = file.read()
print(content)
# Tệp sẽ được tự động đóng ở đây

Thật tuyệt vời phải không? Không cần lo lắng về việc quên đóng tệp nữa!

Xử lý Ngoại lệ khi Đóng Tệp

Đôi khi, điều gì đó không diễn ra như kế hoạch. Điều gì nếu tệp mà chúng ta đang cố gắng mở không tồn tại? Hoặc điều gì nếu chúng ta không có quyền đọc nó? Đó là nơi xử lý ngoại lệ ra đến. Nó như có một lưới an toàn khi bạn đang đi bộ qua một sợi dây.

Dưới đây là cách chúng ta có thể xử lý ngoại lệ:

try:
file = open("secret_file.txt", "r")
content = file.read()
print(content)
except FileNotFoundError:
print("Oops! Tệp không tồn tại.")
except PermissionError:
print("Xin lỗi, bạn không có quyền đọc tệp này.")
finally:
if 'file' in locals():
file.close()

Trong ví dụ này, chúng ta đã chuẩn bị cho hai vấn đề có thể xảy ra: tệp không tồn tại hoặc không có quyền đọc nó. Khối finally đảm bảo rằng chúng ta luôn cố gắng đóng tệp, ngay cả khi một lỗi xảy ra.

Và thế là xong, các em học sinh thân yêu! Chúng ta đã đi qua các khái niệm cơ bản về xử lý tệp trong Python. Hãy nhớ rằng, luyện tập sẽ làm bạn thành thạo. Hãy thử tạo các tệp của riêng bạn, ghi vào chúng, đọc từ chúng, và đừng sợ gặp lỗi - đó là cách chúng ta học hỏi!

Là người giáo viên máy tính tin cậy của bạn, tôi ở đây để nói với bạn rằng việc kiểm soát xử lý tệp như học lái xe đạp. Nó có thể có vẻ lắc lư làm ban đầu, nhưng một khi bạn nắm vững, bạn sẽ di chuyển qua các dự án Python của mình một cách dễ dàng. Hãy tiếp tục mã nguồn, hãy khám phá và quan trọng nhất, hãy vui vẻ!

Credits: Image by storyset