Đọc Ghi File Text Trong Python - Yêu Lập Trình
Có thể bạn quan tâm
Python hỗ trợ rất nhiều hàm cho việc xử lý files. Điều này giúp chúng ta dễ dàng trong việc tạo, cập nhật, đọc và xóa file. Hôm nay chúng ta sẽ cùng nhau tìm hiểu về cách xử lý file text trong Python.
Nội dung của bài
- 1 Mở một file
- 2 Chỉ định các chế độ thao tác với file
- 3 Đọc file
- 4 Đọc theo dòng
- 5 Ghi file
- 5.1 Ghi file ở chế độ ‘w’
- 5.2 Ghi với ở chế độ ‘a’
- 5.3 Ghi file ở chế độ ‘r+’
- 6 Ghi nhiều dòng
- 7 Flush Output Buffer
- 8 Close a file
- 9 Tạo mới file
- 10 Xóa file
- 11 Check xem file có tồn tại
- 12 Kết luận
Mở một file
Trước khi muốn thao tác với file chúng ta cần mở file đó. Python cung cấp sẵn hàm open() là một build-in function.
f = open('test.txt')Khi chúng ta chỉ truyền vào tên file thì hệ thống sẽ hiểu file đang đọc có cùng thư mục với file python. Nếu muốn đọc file ở một thư mục nhất định chúng ta cần khai báo đường dẫn:
f = open(r'C:\Python3\Scripts\test.txt')Lưu ý: khi chúng ta chỉ định đường dẫn chính xác, các ký tự bắt đầu bằng \ (như \ n \ r \ t, v.v.) được hiểu là các ký tự đặc biệt. Bạn có thể sử dụng:
- raw strings như r’C:\Python3\Scripts\test.txt’
- hoặc C:\\Python3\\Scripts\\test.txt’
Chỉ định các chế độ thao tác với file
Python có 5 chế độ đọc file
Character | Mode | Description |
‘r’ | Read (mặc định) | Đọc file ở chế độ read-only |
‘w’ | Write | Mở file và chỉ cho phép ghi đè nên file hiện tại (overwrite) |
‘a’ | Append | Mở file chỉ cho thêm mới vào cuối fil (append) |
‘r+’ | Read+Write | Mở file cho phép đọc và ghi. |
‘x’ | Create | Tạo file mới |
Chúng ta cũng có thể chỉ định cách xử lý file
Character | Mode | Description |
‘t’ | Text (mặc định) | Đọc và ghi chuỗi ký tự vào file. |
‘b’ | Binary | Đọc và ghi theo byte vào file. Chế độ này chúng ta sử dụng với tất cả các loại file. |
Vì hai tham số ‘r’ và ‘t’ là mặc định nên chúng ta không cần đưa vào câu lệnh mở file.
Đọc file
Giả sử chúng ta có file test.txt với nội dung:
First line of the file. Second line of the file. Third line of the file.Để đọc nội dung file chúng ta có thẻ sử dụng hàm read()
# Đọc toàn bộ file f = open('test.txt') print(f.read()) # Prints: # First line of the file. # Second line of the file. # Third line of the file.Mặc định hàm read() sẽ đọc cả file, chúng ta có thể giới hạn số ký tự tối đa có thể đọc
# Đọc 10 ký tự trong file f = open('test.txt') print(f.read(10)) # Prints: # First lineĐọc theo dòng
Để đọc từng dòng của file chúng ta sử dụng readline()
f = open('test.txt') print(f.readline()) # Prints First line of the file. # Lời gọi tiếp theo sẽ thực hiện đọc dòng tiếp theo print(f.readline()) # Prints Second line of the file.Đọc từng dòng cho đến khi hết file
f = open('test.txt') for line in f: print(line) # Prints: # First line of the file. # Second line of the file. # Third line of the file.Đọc tất cả các dòng của file đưa vào danh sách các chuỗi ký tự (list of strings)
f = open('test.txt') print(f.readlines()) # Prints: # ['First line of the file.\n', 'Second line of the file.\n', 'Third line of the file.']Ghi file
Sử dụng hàm write() để ghi vào một file đang tồn tại. Trước đó chúng ta cần mở file với các chế độ (‘w’, ‘a’, ‘r+’).
Ghi file ở chế độ ‘w’
f = open('test.txt', 'w') f.write('Hello world!')File test.txt lúc này có nội dung:
Hello World!Ở chế độ w, file sẽ bị ghi đè, tức là dữ liệu cũ bị xóa hết và ghi mới dữ liệu mới.
Ghi với ở chế độ ‘a’
f = open('test.txt', 'a') f.write('Hello world!')File text lúc này có nội dung:
First line of the file. Second line of the file. Third line of the file.Hello world!Ở chế độ ‘a’ dữ liệu sẽ được thêm mới vào cuối file.
Ghi file ở chế độ ‘r+’
Một phần của file sẽ bị ghi đè.
f = open('test.txt', 'r+') f.write('Hello world!')Nội dung của file test.txt:
Hello world!f the file. Second line of the file. Third line of the file.Ghi nhiều dòng
Ghi cùng lúc nhiều dòng vào file, chúng ta sử dụng hàm writelines()
f = open('test.txt', 'w') lines = ['New line 1\n', 'New line 2\n', 'New line 3'] f.writelines(lines)Flush Output Buffer
Khi chúng ta ghi file, dữ liệu chưa ghi trực tiếp lên ổ cứng mà lưu trên bộ nhớ đệm (Buffer memory). Dữ liệu chỉ ghi vào file khi chúng ta đóng file hoặc gọi lệnh flush().
f = open('test.txt', 'a') f.write('Append this text.') f.flush()Close a file
Sau khi mở file, thực hiện các thao tác cần thiết, chúng ta sử dung hàm close() để đóng file.
f = open('test.txt', 'w') lines = ['New line 1\n', 'New line 2\n', 'New line 3'] f.writelines(lines) f.close() print(f.closed) # print TrueCó hai cách đảm bảo file được đóng dù có lỗi xảy ra trong quá trình xử lý.
Cách thứ nhất là cách mà Python gợi ý dùng với từ khóa with
with open('test.txt') as f: print(f.read())File sẽ tự động đóng sau khi khối lệnh trong with được thực hiện.
Cách thứ 2 chúng ta sử dụng khối lệnh try-finally
f = open('test.txt') try: # xử lý với file finally: f.close()Tạo mới file
Nếu chúng ta mở một file mà file đó không tồn tại, Python sẽ tạo mới file.
# write mode f = open('new_file.txt', 'w') # append mode f = open('new_file.txt', 'a') # read + write mode f = open('new_file.txt', 'r+')Xóa file
Muốn xóa file chúng ta sử dụng module os và hàm remove()
import os os.remove('new_file.txt')Check xem file có tồn tại
Khi muốn kiểm tra xem file có tồn tại hay không chúng ta sử dụng phương thức isfile() của module os.
import os if os.path.isfile('new_file.txt'): f = open('new_file.txt') else: print('File không tồn tại.')Kết luận
Chúng ta đã tìm hiểu về cách xử lý file text trong Python. Bài sau chúng ta sẽ cùng nhau tìm hiểu thêm về cách xử lý file CSV nhé.
Từ khóa » đọc File Txt Python
-
Đọc File Trong Python | - Lập Trình Căn Bả
-
Làm Việc Với File Trong Python
-
Đọc Ghi File Trong Python - Lập Trình Không Khó
-
Thao Tác Với File Trong Python - Viblo
-
Xử Lý File Trong Python | How Kteam
-
Tự Học Pyhon | Đọc Và Ghi Text File Trong Python Qua Ví Dụ Cụ Thể
-
Mở (open) Và đọc (read) Tập Tin (file) Với Python - Góc Học IT
-
Đọc File Trong Python | Lập Trình Từ Đầu
-
Bài 27. Đọc Và Ghi File - Python Dainganxanh
-
CÁC THAO TÁC TRONG FILE PYTHON - - VnPro
-
Thao Tác Với File (Mở File, Đọc File, Ghi File, Xóa File) Trong Python
-
Làm Sao để đọc Từng Dòng Từ Tập Tin Trong Python? - Banhoituidap
-
Đọc Ghi File Text Trong Python - đọc File Txt
-
Input Và Đọc Ghi File Trong Python