Khóa học python

Ghi vào file trong Python

0 phút đọc

Giới thiệu về thao tác với file trong Python

Thao tác với file là một phần quan trọng trong lập trình, cho phép bạn lưu trữ và truy xuất dữ liệu một cách hiệu quả. Python cung cấp nhiều phương thức để làm việc với file, bao gồm mở, đọc, ghi, và đóng file. Trong bài viết này, chúng ta sẽ tập trung vào cách viết vào file trong Python, bao gồm các phương thức và ví dụ chi tiết.

Mở file để ghi

Trước khi có thể ghi vào file, bạn cần mở file đó. Python cung cấp hàm open() để mở file. Hàm này nhận hai tham số chính: tên file và chế độ mở file. Để ghi vào file, bạn có thể sử dụng các chế độ sau:

  • "w": Mở file để ghi. Nếu file đã tồn tại, nội dung cũ sẽ bị ghi đè.
  • "a": Mở file để ghi thêm. Nội dung mới sẽ được thêm vào cuối file mà không ghi đè nội dung cũ.
  • "x": Tạo một file mới và mở nó để ghi. Nếu file đã tồn tại, sẽ gây ra lỗi.

Ví dụ:

# Mở file để ghi
file = open("example.txt", "w")

Ghi vào file

Python cung cấp nhiều phương thức để ghi vào file, bao gồm write()writelines().

Phương thức write()

Phương thức write() ghi một chuỗi vào file. Nếu bạn muốn ghi nhiều dòng, bạn cần sử dụng ký tự xuống dòng \n để phân biệt các dòng.

Ví dụ:

# Mở file để ghi
file = open("example.txt", "w")

# Ghi một chuỗi vào file
file.write("Hello, World!\n")
file.write("This is a test.\n")

# Đóng file
file.close()

Phương thức writelines()

Phương thức writelines() ghi một danh sách các chuỗi vào file. Mỗi chuỗi trong danh sách sẽ được ghi vào file mà không tự động thêm ký tự xuống dòng, vì vậy bạn cần thêm \n vào cuối mỗi chuỗi nếu muốn ghi từng dòng riêng biệt.

Ví dụ:

# Mở file để ghi
file = open("example.txt", "w")

# Ghi một danh sách các chuỗi vào file
lines = ["Hello, World!\n", "This is a test.\n", "Python is great!\n"]
file.writelines(lines)

# Đóng file
file.close()

Sử dụng câu lệnh with để làm việc với file

Sử dụng câu lệnh with là một cách an toàn và tiện lợi để làm việc với file trong Python. Khi sử dụng with, file sẽ tự động được đóng sau khi khối lệnh bên trong with được thực thi, ngay cả khi có lỗi xảy ra.

Ví dụ:

# Sử dụng câu lệnh with để mở và ghi vào file
with open("example.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a test.\n")

Ghi file nhị phân

Ngoài việc ghi file văn bản, Python cũng hỗ trợ ghi file nhị phân. Để ghi file nhị phân, bạn cần mở file ở chế độ nhị phân bằng cách thêm ký tự "b" vào chế độ mở file.

Ví dụ:

# Mở file nhị phân để ghi
with open("example.bin", "wb") as file:
    # Ghi dữ liệu nhị phân vào file
    file.write(b'\x00\x01\x02\x03\x04')

Ghi file với các định dạng khác nhau

Python cung cấp các thư viện để ghi dữ liệu vào các định dạng file khác nhau như CSV, JSON, và XML.

Ghi file CSV

Để ghi dữ liệu vào file CSV, bạn có thể sử dụng module csv của Python.

Ví dụ:

import csv

# Dữ liệu để ghi vào file CSV
data = [
    ["Name", "Age", "City"],
    ["John", 25, "New York"],
    ["Jane", 30, "Los Angeles"],
    ["Mike", 35, "Chicago"]
]

# Mở file CSV để ghi
with open("example.csv", "w", newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

Ghi file JSON

Để ghi dữ liệu vào file JSON, bạn có thể sử dụng module json của Python.

Ví dụ:

import json

# Dữ liệu để ghi vào file JSON
data = {
    "name": "John",
    "age": 25,
    "city": "New York"
}

# Mở file JSON để ghi
with open("example.json", "w") as file:
    json.dump(data, file)

Ghi file XML

Để ghi dữ liệu vào file XML, bạn có thể sử dụng module xml.etree.ElementTree của Python.

Ví dụ:

import xml.etree.ElementTree as ET

# Tạo cây XML
root = ET.Element("root")
person = ET.SubElement(root, "person")
name = ET.SubElement(person, "name")
name.text = "John"
age = ET.SubElement(person, "age")
age.text = "25"
city = ET.SubElement(person, "city")
city.text = "New York"

# Tạo cây XML và ghi vào file
tree = ET.ElementTree(root)
tree.write("example.xml")

Xử lý lỗi khi ghi file

Khi làm việc với file, có thể xảy ra nhiều lỗi như không thể mở file, không có quyền ghi, hoặc lỗi hệ thống. Để xử lý các lỗi này, bạn có thể sử dụng khối lệnh try-except.

Ví dụ:

try:
    with open("example.txt", "w") as file:
        file.write("Hello, World!\n")
except IOError as e:
    print(f"An error occurred: {e}")

Các phương thức hữu ích khác của file

tell()

Phương thức tell() trả về vị trí hiện tại của con trỏ trong file.

Ví dụ:

with open("example.txt", "w") as file:
    file.write("Hello, World!\n")
    position = file.tell()
    print(f"Current position: {position}")

seek()

Phương thức seek() thay đổi vị trí hiện tại của con trỏ trong file.

Ví dụ:

with open("example.txt", "w") as file:
    file.write("Hello, World!\n")
    file.seek(0)
    file.write("Hi")

Kết luận

Viết vào file là một kỹ thuật quan trọng trong lập trình Python, cho phép bạn lưu trữ và quản lý dữ liệu một cách hiệu quả. Python cung cấp nhiều phương thức và công cụ để ghi vào file, bao gồm write(), writelines(), và các thư viện như csv, json, và xml.etree.ElementTree. Bằng cách nắm vững các kỹ thuật này, bạn có thể dễ dàng làm việc với file để giải quyết nhiều bài toán lập trình khác nhau. Hy vọng rằng bài viết này đã cung cấp cho bạn một cái nhìn tổng quan và chi tiết về cách viết vào file trong Python.

Avatar
Được viết bởi

TechMely Team

Gợi ý câu hỏi phỏng vấn

Không có dữ liệu

Không có dữ liệu

Gợi ý bài viết

Không có dữ liệu

Không có dữ liệu

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào