Cấp bậc tác giả:

TRAINING

[Tự học Python]Đọc Và Ghi File

Được viết bởi webmaster ngày 21/11/2016 lúc 04:43 PM
Xử lý file trong Python không khó nếu bạn đã là một lập trình viên chuyên nghiệp, đã từng làm quen và xử lý file ở các ngôn ngữ khác. Tuy nhiên, dù khó hay dễ bạn cũng cần phải bắt đầu với những cú pháp cơ bản nhất do Python quy định.
  • 0
  • 6735

[Tự học Python]Đọc Và Ghi File

Một số khái niệm liên quan đến 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ó 3 loại file thông dụng là file văn bản, hình ảnh âm thanh. Trong bài viết này đối tượng mà tôi hướng đến chính là: File văn bản.

Như đã nói ở phần tiêu đề, hầu hết các sản phẩm phần mềm hiện này đều ít nhiều "đụng chạm" đến file. File hỗ trợ cho việc lưu trữ các thông tin của sản phẩm 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, vàng, ... Khi xây dựng một hệ thống quản lý, ứng dụng web, ... thì việc lưu trữ các thông tin liên quan vào file cũng vô cùng cần thiết.

Mở File

Để có thể đọc và ghi một file nào đó thì mở file là công việc tất yếu. 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 là tên của tập tin cần mở.
  • mode là một vài ký tự quy định cách thức mà tập tin sẽ được mở ra để làm gì. 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ả
rMở file chỉ để đọc.
r+Mở file để đọc và ghi.
wTạ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.
aMở 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ử tôi có một tập tin demo_file.txt với nội dung như sau:

Hello all!
Welcome to STDIO.
My name's Mido. I'm a author of STDIO.

Tôi sẽ 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 tôi sẽ chỉ ra một vài cách đọc file mà tôi nghĩ là cần thiết.

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

Cú pháp

fileObject.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ụ
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.
My name's Mido. I'm a author of STDIO.

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

Cú pháp

fileObject.readline();

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

Ví dụ
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.
 
Lưu ý: 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

fileObject.write(string)

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ụ 
info =  \
'Name: DOTNET GROUP\n' +\
'Mail: webmaster@dotnet.vn\n' +\
'Skype: quang.it'

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

f.write(info)

Ví dụ trên tôi thực hiện ghi thông tin cá nhân của tôi 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 tôi hoàn thành ví dụ trên.

Name: DOTNET GROUP
Mail: webmaster@dotnet.vn
Skype: quang.it

Đóng File

Cú pháp

fileObject.close()

Nguồn bài viết: Sưu tầm

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML