Kiểu dữ liệu tệp trong python

Lập trình Python

1. Tìm hiểu về kiểu tệp

– Tệp [file] hay còn gọi là tập tin dùng để chứa các thông tin được đặt tên và lưu trữ trên bộ nhớ máy tính như đĩa cứng, USB, thẻ nhớ, CD, DVD,…

– Ký tự lưu trong tệp không chỉ theo mã ASCII mà còn có thể mà mã Unicode

– Khi muốn đọc/ ghi dữ liệu vào tệp ta phải mở tệp trước và sau khi thao tác xong với tệp ta phải đóng tệp để giải phóng bộ nhớ.

2. Thao tác với tệp

a. Mở tệp

Cách 1:

  = open[,]

Cách 2:

  with open[,] as

Trong đó, có thể dùng các kiểu sau:

Kiểu mở 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.
Kiểu mở tệp

Ngoài ra, Python còn hỗ trợ các kiểu mở chế độ nhị phân như: rb, rb+, wb, wb+, ab, ab+.

b. Đọc tệp

– Đọc từng dòng:   = .readline[]

– Đọc theo từng dòng đến hết:  for in : print[,end=“”]

– Đọc toàn bộ tệp:  = .read[]

Lưu ý: Dữ liệu đọc từ tệp luôn là kiểu dữ liệu xâu

c. Ghi dữ liệu vào tệp

– Cú pháp:

.write[]

– Lưu ý: phải là kiểu xâu

d. Đóng tệp

– Cú pháp: .close[]

– Lưu ý: Sau khi thao tác với tệp xong ta nên đóng tệp để giải phóng tài nguyên

3. Ví dụ làm việc với tệp

Bài 1: Viết chương trình tính tổng các số lẻ trong tệp DATA.INP gồm 1 dòng duy nhất chứa dãy các số nguyên dương cách nhau bởi dấu cách. Xuất kết quả ra tệp DATA.OUT

Bài 2: Viết chương trình lọc các số ở văn bản gồm có nhiều dòng trong tệp DATA.INP và xuất ra tệp DATA.OUT gồm dãy các số của từng dòng tương ứng ở trong tệp DATA.INP

Xem tiếp Bài 12 – Lập trình hướng đối tượng trong ngôn ngữ lập trình Python

Tìm hiểu về File trong Python

Khái niệm File

Trong hệ thống máy tính, dữ liệu luôn được lưu trữ thành các tệp [file]. Các tệp có thể có các dạng khác nhau tùy thuộc vào yêu cầu của người dùng như tệp dữ liệu, tệp văn bản, tệp thực thi chương trình,...Máy tính xử lý các tệp này bằng cách dịch chúng thành mã nhị phân là 0 và 1. Vì vậy, tất cả văn bản, hình ảnh, video mà bạn lưu trữ trên máy tính chỉ là một chuỗi các số 0 và 1.

Các tệp được đặt tên các vị trí trên đĩa để lưu trữ thông tin liên quan. Chúng được sử dụng để lưu trữ vĩnh viễn dữ liệu trong một bộ nhớ không bay hơi [ví dụ: đĩa cứng]. 

Vì Bộ nhớ truy cập ngẫu nhiên [RAM] dễ bay hơi [mất dữ liệu khi tắt máy tính], chúng ta sử dụng tệp để sử dụng dữ liệu trong tương lai bằng cách lưu trữ vĩnh viễn chúng.

>>> Xem thêm: Package trong Python- Giải mã về Package trong Python

Thành phần của một File

Mỗi File nói chung hay File trong Python nói riêng sẽ có ba phần như sau:

Header:  Phần này chứa thông tin về tệp, tức là tên tệp, loại tệp, kích thước tệp,...

Data: Đây là thông tin / nội dung thực tế được lưu trữ trong tệp.

End of file: Đây là ký tự đặc biệt đánh dấu phần cuối của tệp.

Các thao tác trong một File

Khi chúng ta muốn đọc hoặc ghi vào một tập tin, trước tiên chúng ta cần mở nó. Khi chúng ta hoàn tất việc đọc và ghi file, file  cần phải được đóng lại để các tài nguyên gắn với nó được giải phóng.

Do đó, trong Python, hoạt động tệp diễn ra theo thứ tự sau:

- Mở tệp tin

- Đọc hoặc ghi [thực hiện thao tác]

- Đóng tệp

Cách mở File trong Python

Bạn có thể mở tệp bằng Python bằng cách sử dụng hàm tích hợp open [].

Cú pháp: open[filename, access_mode]

Trong đó:

- filename: Đây là tên của tệp chúng ta muốn mở. Nếu tệp nằm trong cùng thư mục với chương trình của bạn, bạn chỉ cần chỉ định tên tệp. Nhưng nếu tệp không có trong cùng thư mục, bạn cần chỉ định đường dẫn đầy đủ của tệp.

- access_mode:  Chế độ truy cập chỉ định những gì bạn muốn làm với tệp. Chế độ mặc định là chế độ đọc 'r'. Bạn sẽ tìm thấy danh sách tất cả các chế độ truy cập sau trong bài viết này.

Hàm open [] trả về một đối tượng tệp, còn được gọi là "xử lý". Python xử lý tệp như một đối tượng và bạn sử dụng đối tượng tệp này trong chương trình của mình để truy cập nội dung của tệp.

Hãy xem một ví dụ. Chúng tôi có một tệp đã tồn tại trong hệ thống là - “myfile.txt”. Hãy mở tệp này trong  Python.

>>> file_obj = open["myfile.txt", "r"]   # file in the same directory

>>> file_obj = open["E:/folder/file.txt"]  # specify full path if not in the same directory

>>>Tham khảo: Khóa học lập trình Python

Chế độ truy cập File trong Python

Chế độ

Chức năng

r

Mở một tệp để đọc. Đây là chế độ mặc định.

w

Mở một tệp để viết. Nếu tệp đã tồn tại, hãy ghi đè nội dung của nó. Tạo một tệp mới nếu tệp không tồn tại.

a

Mở một tệp để bổ sung. Giữ nguyên nội dung của tệp, thêm dữ liệu mới vào cuối tệp.

r +

Mở một tệp để đọc và ghi.

w +

Cho phép ghi cũng như đọc từ tệp.

a +

Cho phép thêm vào cũng như đọc từ tệp.

Đóng File trong Python

Nhiều lập trình viên thường quên đóng tệp sau khi họ xử lý xong. Điều này có thể dẫn đến mất dữ liệu không mong muốn và hỏng dữ liệu. Việc đóng tệp cũng giúp giải phóng tất cả các tài nguyên liên quan đến chương trình của bạn để làm việc với tệp. Do đó, bạn nên đóng tệp sau khi làm xong việc với nó. Bạn có thể đóng File trong Python bằng cách sử dụng một hàm Python tích hợp đơn giản - close [].

Chúng ta chỉ cần gọi phương thức close [] trên đối tượng tệp và tệp sẽ được đóng. Không có dữ liệu nào bị mất, không còn tài nguyên nào vẫn được liên kết với tệp.

Ví dụ:

>>> file_obj = open["myfile.txt", "r"]

>>> file_obj.close[]

Đọc dữ liệu từ File trong Python

Một cách để đọc các dòng riêng lẻ từ tệp mà không cần sử dụng bất kỳ chức năng nào là sử dụng vòng lặp “for”.

Code:

>>> f = open["myfile.txt"]

>>> for line in f:

        print[line]

Output:

Hello world! This is line 1.This is the 2nd line.

And this is line 3.

>>>

Các hàm có sẵn để đọc File trong Python

1, read[size = -1]

2, readline[size = -1]

 3, readlines[]

Kết luận:

Trong bài viết này, chúng ta đã tìm hiểu File trong Python là gì và cách chúng ta có thể truy cập và thao tác với chúng. Việc lưu trữ dữ liệu chương trình của bạn vào một tệp sẽ làm tăng tính ứng dụng và khả năng sử dụng của chương trình. Tiện ích của ứng dụng của bạn cũng được tăng lên khi bạn có thể lấy dữ liệu từ một tệp vào chương trình của mình. Tìm hiểu thêm về Python và các ngôn ngữ lập trình khác qua các khóa học lập trình tại T3H.

Chủ Đề