Search…

Đọc và Ghi File trong Python

17/12/20204 min read
Đọc và ghi file text với Python thông qua code ví dụ với các mode cơ bản và hữu ích.

Đọc và ghi file là một trong những kỹ thuật vô cùng quan trọng và không thể thiếu trong phần mềm, xử lý file trong Python không khó so với các ngôn ngữ khác.

Khái niệm file

File hay còn gọi là tệp, tập tin. File là tập hợp của các thông tin được đặt tên được lưu trữ trên bộ nhớ máy tính như đĩa cứng, đĩa mềm, CD, DVD, ... hiểu theo một cách khác thì File chính là một dãy bit có tên và được lưu trữ trên các thiết bị bộ nhớ của máy tính.

Có 2 loại file thông dụng là file văn bản (text file), file nhị phân (binary file), trong bài viết hướng đến là file văn bản.

File hỗ trợ cho việc lưu trữ các thông tin của phần mềm đó trong quá trình hoạt động.

  • Khi xây dựng một game, bạn cần file để lưu trữ các dữ liệu như toạ độ, điểm số, tiền, năng lượng.
  • Khi xây dựng một hệ thống quản lý, ứng dụng web, ... cần lưu trữ các thông tin liên quan như hình ảnh người dùng, sản phẩm.

Mở file

Để có thể đọc và ghi một file thì mở file là công việc đầu tiên. Python cho phép chúng ta thực hiện điều đó với hàm open.

Cú pháp

open(fileName, mode)

Trong đó

  • fileName: tên của tập tin cần mở.
  • mode: quy định cách thức mà tập tin. Khi mode bị bỏ qua thì mặc định sẽ là ký tự r.

Ta có các mô tả mode sau:

 Mode  Mô tả
r Mở file chỉ để đọc.
r+ Mở file để đọc và ghi.
w Tạo một file mới để ghi, nếu file đã tồn tại thì sẽ bị ghi mới.
w+ Tạo một file mới để đọc và ghi, nếu file tồn tại thì sẽ bị ghi mới.
a Mở file để ghi thêm vào cuối file, nếu không tìm thấy file sẽ tạo mới một file để ghi mới.
a+ Mở file để đọc và ghi thêm vào cuối file, nếu không tìm thấy file sẽ tạo mới một file để đọc và ghi mới.

Ví dụ

f = open('demo_file.txt', 'r')

Ngoài ra Windows còn hỗ trợ các mode để đọc và ghi file ở chế độ nhị phân như: rb, rb+, wb, wb+ab, ab+.

Đọc file

Giả sử có một tập tin demo_file.txt với nội dung như sau:

Hello all!
Welcome to STDIO.

Sử dụng tập tin này cho các ví dụ về đọc file trong bài viết này, có nhiều phương thức để đọc được dữ liệu từ file, dưới đây chỉ ra một vài cách đọc file cần thiết.

Đọc file với phương thức read

Cú pháp

f.read([size]);

Phương thức này cho phép ta đọc một lượng dữ liệu tương ứng với size và trả về một chuỗi. Khi size bị bỏ qua thì toàn bộ nội dung của file sẽ được đọc. 

Ví dụ

#!/usr/bin/python
f = open('demo_file.txt', 'r')

str = f.read()

print ('Noi dung file cua ban la:\n', str)

Kết quả in ra màn hình

Noi dung file cua ban la:
Hello all!
Welcome to STDIO.

Đọc file với phương thức readline

Cú pháp

f.readline();

Phương thức này cho phép đọc một dòng trong file và trả về chuỗi. 

Ví dụ

#!/usr/bin/python
f = open('demo_file.txt', 'r')

line1 = f.readline()
line2 = f.readline()

print ('Dong 1 cua file: ', line1)
print ('Dong 2 cua file: ', line2)

Kết quả in ra màn hình

Dong 1 cua file:  Hello all!
Dong 2 cua file:  Welcome to STDIO.

* Ký tự \n sẽ được đọc và trả về ở cuối chuỗi nếu đọc file theo phương thức này.

Ghi file

Tương tự đọc file, để ghi một file ta cần mở file bằng cú pháp để ghi và sử dụng phương thức write để ghi vào.

Cú pháp

f.write(fileName)

Phương thức này cho phép ghi một chuỗi có nội dung là string vào vị trí của con trỏ trong tập tin.

Ví dụ 

#!/usr/bin/python
info = 'Name: Thanh\n'

f = open('demo_file2.txt', 'w')

f.write(info)

Ví dụ trên thực hiện ghi thông tin cá nhân tương ứng với biến info ở trong ví dụ vào một file mới demo_file2.txt. Và sau đây là nội dung bên trong file sau khi hoàn thành ví dụ trên.

Name: Thanh

Đóng File

Cú pháp

f.close()

Ví dụ 

#!/usr/bin/python
info = 'Name: Thanh\n'

f = open('demo_file2.txt', 'w')

f.write(info)
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024