Bài 42. LÀM VIỆC VỚI FILE TRONG PYTHON P3 (WRITE, SEEK, WITH)

I. Phương thức Write trong Python

Cú pháp:
File.write(text)
Phương thức này sẽ trả về số lượng ký tự mà chúng ta ghi vào.
Lưu ý: Mỗi lần sử dụng write, con trỏ sẽ đặt ngay sau ký tự cuối cùng được ghi.

Chúng ta sẽ thực hành với file Test.txt có nội dung như hình dưới:

Đối với việc ghi nội dung vào file, chúng ta sẽ kết hợp sử dụng bảng mode mà chúng tôi đã giới thiệu trong các bài học trước. Cụ thể:

Mode

Ứng dụng

r

Mode mặc định. Mở để đọc

r+

Mở để đọc và ghi

w

Xoá hết nội dung file. Mở để ghi. Nếu không tồn tại file, tạo file mới với tên file mà ta truyền vào

w+

Tương tự mode trên. Mở để ghi và đọc

a

Mở để ghi. Nếu không tồn tại file, tạo file mới với tên file mà ta truyền vào

a+

Tương tự mode trên. Mở để ghi và đọc

Ví dụ 1:
Các câu lệnh:

# Dùng phương thức open để mở file Test.txt và ghi vào file
f = open(‘Test.txt’,’r+’)
#dùng phương thức write để ghi nội dung vào file txt và in ra
print(f.write(‘first content\n’))
print(f.write(‘second content\n’))
#Đóng file
f.close()
 

Kết quả trả ra:
14
15

Đồng thời, nếu chúng ta mở file Test.txt lên để kiểm tra thì nội dung file cũng đã thay đổi.

II. Phương thức Seek (kiểm soát con trỏ)

Cú pháp:
File.seek(offset, whence = 0)
Trong đó, tham số whence chỉ nhận các giá trị 0, 1, 2.
Ở mức độ cơ bản, ta tạm bỏ qua nội dung này.
Phương thức Seek này sẽ di chuyển con trỏ từ vị trí đấu file qua offset ký tự. Offset phải là số tự nhiên.
+ Với phương thức này, ta có thể ghi nội dung ở bất cứ chỗ nào trong file.
+ Ta có thể đọc lại file sau khi đưa con trỏ xuống cuối file.

Ví dụ 2 :
Các câu lệnh:

# Dùng phương thức open để mở file Test.txt
f = open(“Test.txt”)
#Dùng phương thức read để đọc toàn bộ nội dung và in ra
print(f.read())
#Dùng phương thức seek để di chuyển con trỏ tới ký tự thứ 10
f.seek(10)
#Dùng phương thức read để đọc toàn bộ nội dung tính từ vị trí con trỏ và in ra
print(f.read())
#Đóng file
f.close()
 

Kết quả trả ra:
first content
second content
on.
print(“Hello World!”)

ent
second content
on.
print(“Hello World!”)

III. Câu Lệnh With

Cú pháp:
with expression [as variable]:
    with-block

Câu lệnh này khi sử dụng với file sẽ mở file lên và sau đó đóng file khi kết thúc câu lệnh

Ví dụ 3:
Các câu lệnh:

#Dùng câu lệnh with để mở và đọc file, kết thúc câu lệnh file sẽ bị đóng
with open(“Test.txt”) as f:
    print(f.read())
 

Kết quả trả ra:
first content
second content
on.
print(“Hello World!”)

Với câu lệnh này, file sẽ tự đóng lại, ta không cần sử dụng lệnh close(). Đồng thời, do file đã đóng lại, nếu muốn thực hiện các tác vụ với file, ta phải mở lại bằng phương thức open().

IV. Kết Luận

Như vậy, chúng tôi đã tiếp tục giới thiệu tới các bạn các khái niệm cơ bản của xử lý file trong Python. Nếu có vấn đề nào chưa rõ, các bạn hãy liên hệ với chúng tôi để được giúp đỡ.

Trả lời

Email của bạn sẽ không được hiển thị công khai.