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

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:

file object = 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ùy chọ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”)
# Ghi dữ liệu lên file
fo.write(“Tobe or not tobe. \n Nghi lon de thanh cong ! \n”);
# Close opened file
fo.close()
print(“Ghi file thanh cong !”)

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

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 để đọc dữ liệu
fo = open(“data.txt”, “r+”)
# Đọc một chuỗi trong file
str = fo.read(20)
# In ra chuỗi được đọc
print(“Chuỗi được đọc là: “, str)
# Đóng file lạ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

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

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *