Thao tác với file (Mở file, Đọc file, Ghi file, Xóa file) trong Python

Ngày đăng: 23/04/2019   -    Cập nhật: 22/10/2020


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
Bình luận Facebook
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!