Python hỗ trợ rất nhiều hàm để xử lý file. Đ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 tệp. hôm nay chúng ta sẽ cùng nhau tìm hiểu về cách xử lý tệp văn bản trong Python
Nội dung của bài viết
- 1 Mở tệp
- 2 Chỉ định các chế độ thao tác với tệp
- 3 Đọc tệp
- 4 Đọc theo dòng
- 5 Ghi tệp
- 5. 1 Ghi tệp ở chế độ ‘w’
- 5. 2 Ghi với chế độ 'a'
- 5. 3 Ghi tệp ở chế độ ‘r+’
- 6 Ghi nhiều dòng
- 7 Xóa bộ đệm đầu ra
- 8 Đóng tệp
- 9 Tạo tệp mới
- 10 Xóa tệp
- 11 Kiểm tra xem tệp có tồn tại
- 12 Kết luận
Open a file
Trước khi muốn thao tác với tệp chúng ta cần mở tệp đó. Python cung cấp sẵn hàm open[] là một hàm dựng sẵn
f = open['test.txt']
Khi chúng ta chỉ truyền vào tên tệp thì hệ thống sẽ hiểu tệp đang đọc có cùng thư mục với tệp python. Nếu muốn đọc tệp trong một thư mục định sẵn nhất, chúng tôi 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, 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. You can't use
- chuỗi thô như r’C. \Python3\Scripts\test. txt'
- or C. \\Python3\\Scripts\\kiểm tra. txt'
Chỉ định các chế độ thao tác với tệp
Python has 5 read mode file
CharacterModeDescription'r'Read [default]Đọc tệp ở chế độ chỉ đọc tệp'w'WriteMở và chỉ cho phép ghi đè nên tệp hiện tại [ghi đè]'a'AppendMở tệp chỉ để thêm mới vào cuối tệp [chắp thêm] . ‘x’CreateTạo tệp mớiChúng ta cũng có thể chỉ định cách xử lý tệp
# Mở file để đọc
f = open['myfile.txt']
# Mở file để ghi
f = open['myfile.txt', 'w']
# Mở file để đọc và ghi
f = open['myfile.txt', 'r+']
# Mở file để đọc dưới dạng nhị phân
f = open['myfile.txt', 'rb']
Vì hai tham số ‘r’ và ‘t’ là mặc định nên chúng ta không cần đưa vào lệnh mở tệp
Đọc tập tin
Giả sử chúng ta có tệp kiểm tra. txt with content
First line of the file.
Second line of the file.
Third line of the file.
Để đọc file nội dung 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 dù hàm read[] sẽ đọc toàn bộ tệp, nhưng 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
Read by lines
To read each lines of file we use 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 tệp được đưa vào danh sách các chuỗi ký tự [danh sách các chuỗi]
________số 8Ghi tập tin
Sử dụng hàm write[] để ghi vào một tệp đang tồn tại. Trước đó chúng ta cần mở tệp với các chế độ [‘w’, ‘a’, ‘r+’]
Ghi tệp ở chế độ 'w'
f = open['test.txt', 'w']
f.write['Hello world!']
kiểm tra tập tin. txt lúc này có nội dung
f = open[r'C:\Python3\Scripts\test.txt']
0Ở chế độ w, tệp sẽ bị ghi đè, tức là dữ liệu cũ đã bị xóa hết và ghi dữ liệu mới
Ghi với 'a' mode
f = open[r'C:\Python3\Scripts\test.txt']
1File text at this has content
f = open[r'C:\Python3\Scripts\test.txt']
2Ở chế độ 'a' dữ liệu sẽ được thêm mới vào tệp cuối cùng
Ghi tệp ở chế độ 'r+'
Một phần của tệp sẽ bị ghi đè
f = open[r'C:\Python3\Scripts\test.txt']
3Nội dung của file test. txt
f = open[r'C:\Python3\Scripts\test.txt']
4Ghi nhiều dòng
Ghi cùng lúc nhiều dòng vào tệp, chúng ta sử dụng hàm writelines[]
f = open[r'C:\Python3\Scripts\test.txt']
5Bộ đệm đầu ra tuôn ra
Khi chúng ta ghi tệp, dữ liệu không được 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 tệp khi chúng ta đóng tệp hoặc gọi lệnh flush[]
f = open[r'C:\Python3\Scripts\test.txt']
6Đóng một tập tin
Sau khi mở tệp, thực hiện các thao tác cần thiết, chúng ta sử dụng hàm close[] để đóng tệp
f = open[r'C:\Python3\Scripts\test.txt']
7Có hai cách chắc chắn rằng tệp được đóng mặc 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 ý sử dụng với từ khóa with
f = open[r'C:\Python3\Scripts\test.txt']
8Tệp sẽ tự động đóng sau khi khối lệnh trong khi được thực hiện
Cách thứ 2 chúng ta sử dụng khối lệnh try-finally
f = open[r'C:\Python3\Scripts\test.txt']
9Tạo tệp mới
Nếu chúng ta mở một tệp mà tệp đó không tồn tại, Python sẽ tạo tệp mới
# Mở file để đọc
f = open['myfile.txt']
# Mở file để ghi
f = open['myfile.txt', 'w']
# Mở file để đọc và ghi
f = open['myfile.txt', 'r+']
# Mở file để đọc dưới dạng nhị phân
f = open['myfile.txt', 'rb']
0Xóa tệp
Muốn xóa file chúng ta sử dụng module os và hàm remove[]
# Mở file để đọc
f = open['myfile.txt']
# Mở file để ghi
f = open['myfile.txt', 'w']
# Mở file để đọc và ghi
f = open['myfile.txt', 'r+']
# Mở file để đọc dưới dạng nhị phân
f = open['myfile.txt', 'rb']
1Kiểm tra xem tập tin có tồn tại
Khi muốn kiểm tra xem tệp có tồn tại hay không chúng ta sử dụng phương thức isfile[] của module os
# Mở file để đọc
f = open['myfile.txt']
# Mở file để ghi
f = open['myfile.txt', 'w']
# Mở file để đọc và ghi
f = open['myfile.txt', 'r+']
# Mở file để đọc dưới dạng nhị phân
f = open['myfile.txt', 'rb']
2Kết luận
Chúng ta đã tìm hiểu về cách xử lý tệp văn bản 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é