Python - Ghi vào Tệp
Xin chào, các nhà phép thuật Python tương lai! Hôm nay, chúng ta sẽ bắt đầu hành trình đầy mạo hiểm vào thế giới xử lý tệp trong Python. Cụ thể, chúng ta sẽ học cách ghi dữ liệu vào tệp. Hãy tin tôi, kỹ năng này như có một chiếc cây đa thần trong bộ công cụ lập trình của bạn!
Mở Tệp để Ghi
Trước khi chúng ta có thể ghi bất kỳ điều gì vào tệp, chúng ta cần mở nó. Điều này như là gõ cửa trước khi vào ngôi nhà của ai đó. Trong Python, chúng ta sử dụng hàm open()
để làm điều này. Hãy cùng nhìn thấy:
file = open("my_first_file.txt", "w")
Trong dòng này, chúng ta đang nói với Python để mở một tệp có tên "my_first_file.txt" trong chế độ ghi (đó là cái nghĩa của chữ "w"). Nếu tệp không tồn tại, Python sẽ tạo nó cho chúng ta. Đúng là rất tốt phải không?
Lời khuyên từ chuyên gia: Luôn nhớ đóng tệp của bạn khi bạn đã hoàn thành với nó. Điều này như là tắt đèn khi bạn rời khỏi phòng!
file.close()
Ghi vào Tệp bằng Phương thức write()
Bây giờ đã mở tệp của chúng ta, hãy ghi điều gì đó vào nó! Chúng ta sẽ sử dụng phương thức write()
cho điều này:
file = open("my_first_file.txt", "w")
file.write("Hello, World!")
file.close()
Điều này sẽ ghi văn bản "Hello, World!" vào tệp của chúng ta. Đơn giản phải không? Nhưng chờ đợi, còn nhiều hơn nữa!
Ghi vào Tệp bằng Phương thức writelines()
Điều gì xảy ra nếu chúng ta muốn ghi nhiều dòng cùng một lúc? Đó là nơi writelines()
có tác dụng:
file = open("my_shopping_list.txt", "w")
shopping_list = ["Apples\n", "Bananas\n", "Chocolate\n"]
file.writelines(shopping_list)
file.close()
Điều này sẽ ghi mỗi mục trong danh sách mua sắm của chúng ta vào một dòng mới trong tệp. Có nhận ra dấu \n
ở cuối mỗi mục không? Đó là cách chúng ta nói với Python để bắt đầu một dòng mới.
Ghi vào Tệp Mới
Tạo một tệp mới cũng đơn giản như mở một tệp không tồn tại:
file = open("brand_new_file.txt", "w")
file.write("This is a brand new file!")
file.close()
Nếu "brand_new_file.txt" chưa tồn tại trước đó, thì nó tồn tại bây giờ!
Ghi vào Tệp Mới trong Chế Độ Nhị Phân
Đôi khi, chúng ta cần ghi dữ liệu không chỉ là văn bản. Đối với điều này, chúng ta sử dụng chế độ nhị phân:
file = open("binary_file.bin", "wb")
some_bytes = bytes([0, 1, 2, 3, 4])
file.write(some_bytes)
file.close()
Chữ 'b' trong "wb" đại diện cho nhị phân. Điều này có ích khi bạn làm việc với các tệp không phải văn bản như hình ảnh hoặc tệp âm thanh.
Ghi vào Tệp Tồn Tại
Điều gì xảy ra nếu chúng ta muốn thêm nội dung vào một tệp tồn tại mà không xóa đi những gì đã có sẵn? Chúng ta sử dụng chế độ append:
file = open("existing_file.txt", "a")
file.write("\nThis is a new line at the end of the file.")
file.close()
Chữ 'a' đại diện cho append. Nó như thêm một trang mới vào cuối cuốn sách thay vì viết lại toàn bộ nội dung.
Ghi vào Tệp trong Chế Độ Đọc và Ghi
Đôi khi, chúng ta muốn đọc từ một tệp và ghi vào nó cùng lúc. Chúng ta có thể làm điều này với chế độ "r+":
file = open("read_and_write.txt", "r+")
content = file.read()
file.write("\nThis is new content added to the file.")
file.close()
Chế độ này như là có một cuộc trò chuyện - bạn có thể lắng nghe (đọc) và nói (ghi) cùng lúc!
Dưới đây là bảng tóm tắt tất cả các chế độ tệp mà chúng ta đã thảo luận:
Mode | Mô tả |
---|---|
"w" | Chế độ ghi (tạo tệp mới hoặc ghi đè lên tệp tồn tại) |
"a" | Chế độ append (thêm vào cuối tệp tồn tại) |
"wb" | Chế độ ghi nhị phân |
"r+" | Chế độ đọc và ghi |
Nhớ rồi, các nhà phép thuật Python trẻ, xử lý tệp là một công cụ mạnh mẽ. Với quyền lớn đến đến trách nhiệm lớn! Luôn đảm bảo rằng bạn đang ghi vào tệp đúng và đóng tệp của bạn khi bạn đã hoàn thành.
Thực hành làm chủ, vì vậy đừng sợ thử nghiệm với các phương thức này. Tạo một số tệp, ghi vào chúng, đọc từ chúng, và xem điều gì xảy ra. Trước khi bạn biết, bạn sẽ nắm vững tệp như một diễn viên xiếc chuyên nghiệp!
Và thế là bạn đã có - giới thiệu về việc ghi tệp trong Python. Hãy tiếp tục lập trình, học hỏi, và quan trọng nhất là hãy vui vẻ! Ai biết? Ứng dụng hoặc chương trình tuyệt vời sắp tới có thể bắt đầu với bạn viết một dòng đơn giản vào tệp. Chúc bạn mãi mãi mãi có niềm vui khi lập trình!
Credits: Image by storyset