Hướng dẫn python text - văn bản trăn

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 chính

  • Mở một file
  • Chỉ định các chế độ thao tác với file
  • Đọc file
  • Đọc theo dòng
  • Ghi file ở chế độ ‘w’
  • Ghi với ở chế độ ‘a’
  • Ghi file ở chế độ ‘r+’
  • Ghi nhiều dòng
  • Flush Output Buffer
  • Close a file
  • Tạo mới file
  • Check xem file có tồn tại
  • Kết luận

Nội dung của bài

  • 1 Mở một file Mở một file
  • 2 Chỉ định các chế độ thao tác với file Chỉ định các chế độ thao tác với file
  • 3 Đọc file Đọc file
  • 4 Đọc theo dòng Đọc theo dòng
  • 5 Ghi file Ghi file
    • 5.1 Ghi file ở chế độ ‘w’ Ghi file ở chế độ ‘w’
    • 5.2 Ghi với ở chế độ ‘a’ Ghi với ở chế độ ‘a’
    • 5.3 Ghi file ở chế độ ‘r+’ Ghi file ở chế độ ‘r+’
  • 6 Ghi nhiều dòng Ghi nhiều dòng
  • 7 Flush Output Buffer Flush Output Buffer
  • 8 Close a file Close a file
  • 9 Tạo mới file Tạo mới file
  • 10 Xóa file Xóa file
  • 11 Check xem file có tồn tại Check xem file có tồn tại
  • 12 Kết luận 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.
# 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 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:

f = open(r'C:\Python3\Scripts\test.txt')
0

Ở 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(r'C:\Python3\Scripts\test.txt')
1

File text lúc này có nội dung:

f = open(r'C:\Python3\Scripts\test.txt')
2

Ở 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(r'C:\Python3\Scripts\test.txt')
3

Nội dung của file test.txt:

f = open(r'C:\Python3\Scripts\test.txt')
4

Ghi nhiều dòng

Flush Output Buffer

f = open(r'C:\Python3\Scripts\test.txt')
5

Close a file

Tạo mới file

f = open(r'C:\Python3\Scripts\test.txt')
6

Close a file

Tạo mới file

f = open(r'C:\Python3\Scripts\test.txt')
7

Check xem file có tồn tại

Kết luậnwith

f = open(r'C:\Python3\Scripts\test.txt')
8

Nội dung của bàiwith được thực hiện.

1 Mở một filetry- finally

f = open(r'C:\Python3\Scripts\test.txt')
9

Tạo mới file

Check xem file có tồn tạ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')
0

Kết luận

Nội dung của bà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')
1

Check xem file có tồn tại

Kết luận

# 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')
2

Kết luận

Nội dung của bài