Cách lấy dữ liệu từ file Python

Mục Lục

  • 1. Ý nghĩa của các chế độ mở file trong Python
  • 2. Các thuộc tính của đối tượng file
  • 3. Một số phương thức phổ biến khi làm việc với file trong Python
  • 4. Thao tác với thư mục trong Python
  • 5. Các bước để đọc file, ghi file trong Python
  • Tổng kết


Trong quá trình lập trình, chúng ta sẽ thao tác với file rất nhiều. Bài này mình sẽ hướng dẫn các bạn cách thao tác Mở file, Đọc file, Ghi file, Xóa file trong Python.




Hướng dẫn thao tác với file trong Python


Python cung cấp các phương thức để có thể thao tác với file [tập tin], ta có thể thực hiện việc thao tác với file bằng cách sử dụng một đối tượng file.

Trước khi có thể đọc file hoặc ghi file trong Python, ta cần mở file bằng cách sử dụng một hàm open[] được cung cấp bởi Python. Hàm này cho phép tạo ra một đối tượng file.


Cú pháp mở File trong Python:




fileobject=open[file_name[,access_mode][,buffering]];


Ý nghĩa của các tham số trong hàm open[] của Python:


  • Tham số file_name: Là một chuỗi chứa tên tập tin mà ta muốn mở.
  • Tham số access_mode: Là chế độ của file được mở, VD đọc, ghi, ghi nối v.v… Tham số này là tùychọn và chế độ mặc định là đọc [ r ].
  • Tham số buffering: Dùng để thiết lập bộ đệm. Nếu giá trị được thiết lập là 0 thì không sử dụng bộ nhớ đệm. Nếu giá trị là 1 thì thiết lập line buffering. Nếu giá trị là số < 0 thì thiết lập kích thước bộ đệm mặc định.

1. Ý nghĩa của các chế độ mở file trong Python

Khi tiến hành mở file trong Python chúng ta sẽ tùy chế độ truy cập bằng cách truyền tham số access_mode với các chế độ như sau:


  • r: Mở một file theo chế độ chỉ đọc. Con trỏ file [file pointer] được đặt ở đầu file. Đây là chế độ mặc định.
  • rb: Mở một file nhị phân theo chế độ chỉ đọc. Con trỏ file [file pointer] được đặt ở đầu file. Đây là chế độ mặc định.
  • r+: Mở một file theo chế độ đọc và ghi. Con trỏ file [file pointer] được đặt ở đầu file.
  • rb+: Mở một file theo chế độ đọc và ghi trong định dạng nhị phân. Con trỏ file [file pointer] được đặt ở đầu file.
  • w: Mở một file theo chế độ chỉ ghi. Ghi đè file nếu file đã tồn tại. Nếu file chưa tồn tại thì sẽ tạo mới một file để ghi.
  • wb: Mở một file theo chế độ chỉ ghi trong định dạng nhị phân. Ghi đè file nếu file đã tồn tại. Nếu file chưa tồn tại thì sẽ tạo mới một file để ghi.
  • w+: Mở một file để đọc và ghi. Ghi đè file nếu file đã tồn tại. Nếu file chưa tồn tại thì sẽ tạo mới một file để đọc và ghi.
  • wb+: Mở một file để đọc và ghi trong định dạng nhị phân. Ghi đè file nếu file đã tồn tại. Nếu file chưa tồn tại thì sẽ tạo mới một file để đọc và ghi.
  • a: Mở một file để ghi nối. Con trỏ file sẽ được đặt ở cuối file nếu file đã tồn tại. Nếu file chưa tồn tại, tạo mới một file để ghi.
  • ab: Mở một file để ghi nối trong định dạng nhị phân. Con trỏ file sẽ được đặt ở cuối file nếu file đã tồn tại. Nếu file chưa tồn tại, tạo mới một file để ghi.
  • a+: Mở một file để ghi nối và đọc. Con trỏ file sẽ được đặt ở cuối file nếu file đã tồn tại. Nếu file chưa tồn tại, tạo mới một file để đọc và ghi.
  • ab+: Mở một file để ghi nối và đọc trong định dạng nhị phân. Con trỏ file sẽ được đặt ở cuối file nếu file đã tồn tại. Nếu file chưa tồn tại, tạo mới một file để đọc và ghi.

2. Các thuộc tính của đối tượng file


Ngay khi một file đã được mở và một đối tượng file được tạo ra, ta có thể lấy về các thông tin liên quan đến file thông qua các thuộc tính của đối tượng file.

  • file.closed: Trả lại true nếu file đã được đóng, nếu file vẫn còn mở thì tra lại false.
  • file.mode: Trả lại chế độ truy nhập của file.
  • file.name: Trả về tên của file.

3. Một số phương thức phổ biến khi làm việc với file trong Python


Trong khi làm việc với File ta có một số phương thức phổ biến như sau:

Phương thức close[]


Đóng tập tin đang được mở.

> Lưu ý: Python tự động đóng file khi đối tượng tham chiếu đến file được gán cho file khác.


Phương thức write[] trong Python


Dùng để ghi một chuỗi vào tập tin đang được mở.

Chuỗi có thể có cả dữ liệu nhị phân, không chỉ có văn bản.

Phương thức write[] sẽ không tự thêm ký tự xuống dòng vào cuối chuỗi.


Cú pháp phương thức write[] trong python:



file.Object.write[string];


Phương thức read[]


Phương thức read[] cho phép đọc một chuỗi từ một file đang mở. Khi gọi phương thức này, ta cần truyền vào tham số là số các byte được đọc từ file.

Cú pháp phương thức read[]:




file.Object.read[[count]];


Một số phương thức phổ biến khác khi thao tác với file:


  • Phương thức tell[]: Lấy về vị trí hiện tại của con trỏ file.
  • Phương thức seek[]: Thay đổi vị trí hiện tại của con trỏ file.
  • Phương thức rename[]: Dùng để đổi tên file. Phương thức này nhận 2 tham số là tên file hiện tại và tên mới.
  • Phương thức remove[]: Dùng để xóa file. Ta cần truyền vào tên file muốn xóa.

Cú pháp minh họa:


os.rename[current_file_name,new_file_name];

os.remove[file_name];


4. Thao tác với thư mục trong Python


Python cung cấp module os có các phương thức cho phép tạo, xóa, và thay đổi các thư mục.

Một số phương thức của module os như sau:


  • mkdir[]: Tạo thư mục mới. Phương thức này nhận một tham số là tên thư mục ta muốn tạo.
  • chdir[]: Thay đổi thư mục hiện tại. Phương thức này nhận một tham số là tên thư mục mà ta muốn chuyển đến.
  • getcwd[]: Hiển thị thư mục làm việc hiện tại.
  • rmdir[]: Xóa thư mục.


5. Các bước để đọc file, ghi file trong Python

Bước 1: Tạo ứng dụng để test cách đọc, ghi file


Mở một trình soạn thảo, ở đây ta sử dụng PyCharm. Sau đó ta tạo mới một Project Python, đặt tên và chọn đường dẫn chứa đồ án vừa tạo.

Bước 2: Viết mã để ghi file


Sau khi đã tạo project, hãy tạo file mã nguồn python, sau đó viết mã để thực hiện việc ghi dữ liệu lên file như hình sau:


#Mởfileđểghi

fo=open["data.txt","w"]


#Ghidữliệulênfile

fo.write["Tobeornottobe.\nNghilondethanhcong!\n"];


#Closeopenedfile

fo.close[]


print["Ghifilethanhcong!"]



Trong ví dụ này, ta đã tạo và mở một file có tên là data.txt, sau đó ta ghi dữ liệu lên file, rồi ta đóng file vừa mở.

Sau khi đã thực thi file mã nguồn, file văn bản sẽ được tạo ra. Ta có thể mở file dữ liệu ra để xem dữ liệu đã được ghi.



Kết quả của chương trình ghi file trong Python



Bước 3: Viết mã để đọc file với Python


Tiếp theo, ta tạo một file mã nguồn Python để viết mã đọc file dữ liệu vừa được tạo ra ở bước trên.

Trong bài này, ta đã mở file data.txt ở bước trên, rồi đọc một chuỗi bao gồm 20 ký tự, sau đó ta in ra chuỗi vừa đọc.

Cuối cùng ta đóng file được mở.



#Mởfileđểđọcdữliệu

fo=open["data.txt","r+"]


#Đọcmộtchuỗitrongfile

str=fo.read[20]


#Inrachuỗiđượcđọc

print["Chuỗiđượcđọclà:",str]


#Đóngfilelại

fo.close[]


Bước 4: Thực thi chương trình và xem kết quả


Sau khi đã viết mã xong, ta thực thi chương trình Python, ta thấy nội dung đã được hiển thị như hình bên dưới.





Kết quả của chương trình đọc file trong Python

Tổng kết


Như vậy là các bạn đã biết về các hàm mở file, đọc file, ghi file, xóa file trong Python. Và cũng đã được hướng dẫn từng bước thao tác với file trong Python qua ví dụ cụ thể.

Hãy tự tạo ví dụ cho mình để luyện tập các thao tác với file trong python thật nhuần nhuyễn các bạn nhé.

Chúc bạn học Python tốt!



TONY HÙNG CƯỜNG

Video liên quan

Chủ Đề