Viết tập tin txt python

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ới

Chúng ta cũng có thể chỉ định cách xử lý tệp

CharacterModeDescription‘t’Text (default)Đọc và ghi chuỗi ký tự vào tệp. ‘b’BinaryĐọc và ghi theo byte vào tệp. Chế độ này chúng ta sử dụng với tất cả các loại 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ố 8

Ghi 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')
1

File 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')
3

Nội dung của file test. txt

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

Ghi 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')
5

Bộ đệ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')
7

Có 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')
8

Tệ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')
9

Tạ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')
0

Xó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')
1

Kiể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')
2

Kế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é