Cách ghi vào tệp bằng Python (Viết và nối thêm)

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.

Hãy thử Giải pháp này trong Trình chỉnh sửa

Tổng quan

Ghi dữ liệu vào tệp là một nhiệm vụ cơ bản khi xây dựng tập lệnh, lưu trạng thái chương trình, tạo nhật ký hoặc xuất báo cáo. Python đơn giản hóa việc xuất tệp bằng cách sử dụng hàm `open()` tích hợp sẵn, kết hợp với các chế độ truy cập tệp cụ thể để kiểm soát cách ghi dữ liệu vào đĩa.

Khi ghi tập tin, hai chế độ phổ biến nhất là chế độ ghi (`"w"`) và chế độ chắp thêm (`"a"`). Chế độ ghi sẽ ghi đè toàn bộ tệp nếu nó đã tồn tại hoặc tạo một tệp mới nếu chưa có. Chế độ chắp thêm bảo tồn nội dung hiện có và ghi dữ liệu mới trực tiếp vào cuối tệp. Sử dụng sai chế độ có thể vô tình dẫn đến mất dữ liệu, vì vậy hãy lựa chọn cẩn thận.

Tương tự như việc đọc tệp, bạn phải luôn sử dụng câu lệnh `with open(...)`. Điều này đảm bảo bộ đệm tệp được xóa và phần xử lý tệp được đóng đúng cách, tiết kiệm tài nguyên hệ thống và ngăn ngừa hỏng dữ liệu. Để viết danh sách các chuỗi, Python cung cấp phương thức `.writelines()`, giúp việc ghi hàng loạt trở nên rõ ràng và hiệu quả.

Đầu ra mã & thực thi

Tập lệnh này thể hiện việc ghi đè, nối thêm và xem tệp bằng Python.

# 1. Overwrite a file (or create new) using "w"
with open("output.txt", "w") as file:
    file.write("Hello World from Python!\n")
    file.write("Writing file content is simple.\n")

# 2. Append new content to the file using "a"
with open("output.txt", "a") as file:
    file.write("This line is appended.\n")

# 3. Reading the file back to verify contents
with open("output.txt", "r") as file:
    print(file.read().strip())
Đầu ra thiết bị đầu cuối
Hello World from Python!
Writing file content is simple.
This line is appended.

Triển khai từng bước

  • Sử dụng open('filename', 'w') dưới dạng tệp để ghi đè hoặc tạo tệp.
  • Sử dụng open('filename', 'a') dưới dạng tệp để nối văn bản vào cuối tệp.
  • Gọi file.write('string') để ghi các đoạn văn bản riêng lẻ vào tệp.

Câu hỏi thường gặp

Điều gì xảy ra nếu thư mục của tập tin không tồn tại?

Python sẽ đưa ra FileNotFoundError. Trước tiên, bạn phải tạo thư mục bằng hàm os.makedirs trước khi ghi tệp.

Làm cách nào để ghi biến hoặc số vào một tệp?

Phương thức write() chỉ chấp nhận đối số chuỗi. Bạn phải truyền số bằng str(num) hoặc định dạng chúng bằng chuỗi f.

Chủ đề liên quan

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.