Cách đọc và ghi tệp trong Python

Đọc và ghi vào tệp là một tác vụ phổ biến trong lập trình và Python giúp bạn thực hiện dễ dàng với khả năng xử lý tệp tích hợp sẵn. Hiểu cách làm việc với tệp là điều cần thiết đối với bất kỳ lập trình viên Python nào, vì nó cho phép bạn xử lý lưu trữ dữ liệu, ghi nhật ký, quản lý cấu hình, v.v. Hướng dẫn này sẽ đề cập đến cách mở, đọc, ghi và đóng tệp trong Python, cũng như cách xử lý các chế độ tệp khác nhau.

Mở và Đóng Tệp

Trong Python, bạn sử dụng hàm open() để mở tệp. Hàm open() trả về một đối tượng tệp, cung cấp các phương thức để đọc và ghi. Điều quan trọng là phải đóng tệp sau khi bạn hoàn tất bằng phương thức close() để giải phóng tài nguyên hệ thống.

# Opening and closing a file
file = open("example.txt", "r")  # Open file for reading
# Perform file operations
file.close()  # Close the file

Đọc tập tin

Có một số cách để đọc nội dung của tệp trong Python, tùy thuộc vào nhu cầu của bạn:

Đọc toàn bộ tập tin

Phương thức read() đọc toàn bộ nội dung của tệp thành một chuỗi duy nhất.

# Reading the entire file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

Đọc các dòng của một tập tin

Phương thức readline() đọc một dòng từ tệp, trong khi readlines() đọc tất cả các dòng và trả về dưới dạng danh sách.

# Reading lines using readline()
with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

# Reading all lines using readlines()
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

Đọc tập tin từng dòng một

Phương pháp được ưa thích để đọc từng dòng tệp là sử dụng vòng lặp for trực tiếp trên đối tượng tệp. Phương pháp này tiết kiệm bộ nhớ, đặc biệt là đối với các tệp lớn.

# Reading file line by line using a for loop
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

Viết vào tập tin

Python cho phép bạn ghi vào tệp bằng các phương thức write()writelines(). Bạn cần mở tệp ở chế độ hỗ trợ ghi, chẳng hạn như 'w' (ghi) hoặc 'a' (thêm vào).

Viết vào một tập tin

Phương thức write() ghi một chuỗi duy nhất vào một tệp. Mở tệp ở chế độ ghi 'w' sẽ tạo tệp mới hoặc ghi đè lên tệp hiện có.

# Writing to a file
with open("output.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a new line.")

Thêm vào một tập tin

Việc mở một tệp ở chế độ thêm 'a' cho phép bạn thêm nội dung vào cuối tệp hiện có mà không ghi đè lên nội dung của tệp đó.

# Appending to a file
with open("output.txt", "a") as file:
    file.write("\nThis line is appended.")

Viết nhiều dòng

Phương thức writelines() được sử dụng để ghi nhiều dòng vào một tệp. Nó mong đợi một danh sách các chuỗi, mỗi chuỗi đại diện cho một dòng.

# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
    file.writelines(lines)

Chế độ tập tin

Hàm open() của Python hỗ trợ một số chế độ để mở tệp:

  • 'r' - Chế độ đọc (mặc định). Mở tệp để đọc.
  • 'w' - Chế độ ghi. Mở tệp để ghi (tạo tệp mới hoặc cắt bớt tệp hiện có).
  • 'a' - Chế độ thêm. Mở tệp để thêm (tạo tệp mới nếu tệp đó chưa tồn tại).
  • 'r+' - Chế độ đọc và ghi. Mở tệp để đọc và ghi.
  • 'b' - Chế độ nhị phân. Mở tệp ở chế độ nhị phân (sử dụng với 'rb', 'wb', v.v.).

Phần kết luận

Đọc và ghi vào tệp trong Python rất đơn giản khi bạn hiểu các khái niệm cơ bản và chế độ tệp. Bằng cách thành thạo xử lý tệp, bạn có thể quản lý dữ liệu hiệu quả, xử lý đầu vào/đầu ra của người dùng và tự động hóa các tác vụ liên quan đến hoạt động tệp. Thực hành sử dụng các kỹ thuật này để trở nên thành thạo trong quản lý tệp trong Python.