Hàm open() trong Python
Hàm open() được tích hợp sẵn trong Python sử dụng để mở một tệp và trả về đối tượng tệp tương ứng.
Cùng Quantrimang.com theo dõi bài viết để tìm hiểu chi tiết về cú pháp, tham số và cách sử dụng của open()
Cú pháp hàm open() trong Python
open(file, mode)Các tham số của hàm open()
file: đường dẫn và tên của tệpmode: chuỗi xác định chế độ bạn muốn mở tệp. Nếu tham số này không được truyền, Python mặc định mở file ở chế độ'r'(đọc văn bản).
Một số mode khác nhau khi mở một file:
| MODE | MÔ TẢ |
| 'r' | Chế độ chỉ được phép đọc. |
| 'r+' | Chế độ được phép đọc và ghi |
| 'rb' | Mở file chế độ đọc cho định dạng nhị phân. Con trỏ tại phần bắt đầu của file |
| 'rb+' 'r+b' | Mở file để đọc và ghi trong định dạng nhị phân. Con trỏ tại phần bắt đầu của file |
| 'w' | Mở file để ghi. Nếu file không tồn tại thì sẽ tạo mới file và ghi nội dung, nếu file đã tồn tại thì sẽ bị cắt bớt (truncate) và ghi đè lên nội dung cũ |
| 'w+' | Mở file để đọc và ghi. Nếu file không tồn tại thì sẽ tạo mới file và ghi nội dung, nếu file đã tồn tại thì sẽ bị cắt bớt (truncate) và ghi đè lên nội dung cũ |
| 'wb' | Mở file để ghi cho dạng nhị phân. Nếu file không tồn tại thì sẽ tạo mới file và ghi nội dung, nếu file đã tồn tại thì sẽ bị cắt bớt (truncate) và ghi đè lên nội dung cũ |
| 'wb+' 'w+b' | Mở file để đọc và ghi cho dạng nhị phân. Nếu file không tồn tại thì sẽ tạo mới file và ghi nội dung, nếu file đã tồn tại thì sẽ bị cắt bớt (truncate) và ghi đè lên nội dung cũ |
| 'a' | Mở file chế độ ghi tiếp. Nếu file đã tồn tại rồi thì nó sẽ ghi tiếp nội dung vào cuối file, nếu file không tồn tại thì tạo một file mới và ghi nội dung vào đó. |
| 'a+' | Mở file chế độ đọc và ghi tiếp. Nếu file đã tồn tại rồi thì nó sẽ ghi tiếp nội dung vào cuối file, nếu file không tồn tại thì tạo một file mới và ghi nội dung vào đó. |
| ab' | Mở file chế độ ghi tiếp ở dạng nhị phân. Nếu file đã tồn tại rồi thì nó sẽ ghi tiếp nội dung vào cuối file, nếu file không tồn tại thì tạo một file mới và ghi nội dung vào đó. |
| 'ab+' 'a+b' | Mở file chế độ đọc và ghi tiếp ở dạng nhị phân. Nếu file đã tồn tại rồi thì nó sẽ ghi tiếp nội dung vào cuối file, nếu file không tồn tại thì tạo một file mới và ghi nội dung vào đó. |
| 'x' | Mở file chế độ ghi. Tạo file độc quyền mới (exclusive creation) và ghi nội dung, nếu file đã tồn tại thì chương trình sẽ báo lỗi |
| 'x+' | Mở file chế độ đọc và ghi. Tạo file độc quyền mới (exclusive creation) và ghi nội dung, nếu file đã tồn tại thì chương trình sẽ báo lỗi |
| 'xb' | Mở file chế độ ghi dạng nhị phân. Tạo file độc quyền mới và ghi nội dung, nếu file đã tồn tại thì chương trình sẽ báo lỗi |
| 'xb+' 'x+b' | Mở file chế độ đọc và ghi dạng nhị phân. Tạo file độc quyền mới và ghi nội dung, nếu file đã tồn tại thì chương trình sẽ báo lỗi |
| 'b' | Mở file ở chế độ nhị phân |
| 't' | Mở file ở chế độ văn bản (mặc định) |
Giá trị trả về từ open()
Hàm open() trả về đối tượng file hay còn gọi là "handle" vì bạn có thể thực hiện các hoạt động đọc, ghi, sửa đổi trên file đó.
Nếu không tìm thấy file, Python sẽ sinh ra ngoại lệ FileNotFoundError.
Ví dụ 1: open() hoạt động như thế nào?
# mở file cùng thư mục với file hiện tại
# viết bởi Quantrimang.com
f = open("quantrimang.txt")
# mở file ở thư mục khác, đường dẫn đầy đủ
f = open("C:/Python33/README.txt") Ở ví dụ này ta bỏ qua tham số mode, nên Python truy cập file mặc định là read (r). Khi dùng mode này chúng ta sẽ nhận được giá trị chuỗi trả về dạng văn bản.
Ví dụ 2: open() có tham số mode
# mở ở chế độ đọc
f = open("test.txt", mode='r')
# mở ở chế độ ghi
f = open("test.txt", mode = 'w')
# mở ở chế độ ghi tiếp
f = open("test.txt", mode = 'a')
# mở ở chế độ đọc và ghi dạng nhị phân
f = open("img.bmp",'r+b') Khi làm việc với các tệp ở chế độ văn bản, bạn nên chỉ định loại mã hóa.
f = open("test.txt",mode = 'r',encoding = 'utf-8')Xem thêm: Các hàm Python tích hợp sẵn
Bạn nên đọc
-
Hàm trong Python là gì? Các hàm trong Python
-
Lệnh if, if...else, if...elif...else trong Python
-
Hàm int() trong Python
-
Kiểu dữ liệu trong Python: chuỗi, số, list, tuple, set và dictionary
-
Vòng lặp while trong Python
-
Mảng trong Python
-
Hàm hasattr() trong Python
-
Hàm len() trong Python
-
Vòng lặp for trong Python
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Cách cài tiếng Việt cho Messenger trên điện thoại
2 ngày -

Cách xóa trang trắng trong Google Docs
2 ngày -

File XML là gì và cách mở nó như thế nào?
2 ngày -

Top 5 smartphone tốt nhất cho người lớn tuổi
2 ngày -

Cách đăng ký gói V90Z Viettel nhận 30GB
2 ngày -

Hàm SUBTOTAL: Tính tổng giá trị danh sách đã lọc trong Excel
2 ngày -

Cách lấy link video YouTube trên điện thoại, máy tính
2 ngày -

Stt về bạn thân, những câu nói hay về tình bạn
2 ngày 2 -

Những biệt danh hay cho bạn thân, đặt biệt danh cho bạn thân
2 ngày 53 -

Cách bấm dây mạng chuẩn chỉ với 3 bước
2 ngày 1
Học IT
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Hướng dẫn
Ô tô, Xe máy