Ngôn ngữ lập trình Python có nhiều hàm và câu lệnh khác nhau để làm việc với tệp. Các with
tuyên bố và open()
function là hai trong số các câu lệnh và hàm đó.
Trong bài viết này, bạn sẽ học cách sử dụng cả hai with
tuyên bố và open()
để làm việc với các tệp trong Python.
làm gì Open()
Làm bằng Python?
Để làm việc với các tệp trong Python, trước tiên bạn phải mở tệp. Nên open()
hàm thực hiện đúng như tên gọi của nó – nó mở một tệp cho bạn để bạn có thể làm việc với tệp đó.
Để sử dụng hàm open, trước tiên bạn khai báo một biến cho nó. Các open()
hàm nhận tối đa 3 tham số – tên tệp, chế độ và mã hóa. Sau đó, bạn có thể chỉ định những gì bạn muốn làm với tệp trong chức năng in.
my_file = open("hello.txt", "r")
print(my_file.read())
# Output :
# Hello world
# I hope you're doing well today
# This is a text file
Đó chưa phải là tất cả. Các open()
chức năng không đóng tệp, vì vậy bạn cũng phải đóng tệp bằng close()
phương pháp.
Vì vậy, một cách thích hợp để sử dụng chức năng mở trông giống như sau:
my_file = open("hello.txt", "r")
print(my_file.read())
my_file.close()
# Output :
# Hello world
# I hope you're doing well today
# This is a text file
Chế độ đọc là chế độ tệp mặc định trong Python, vì vậy nếu bạn không chỉ định chế độ này, đoạn mã trên vẫn hoạt động tốt:
my_file = open("hello.txt")
print(my_file.read())
my_file.close()
# Output :
# Hello world
# I hope you're doing well today
# This is a text file
làm thế nào With
Tuyên bố làm việc trong Python?
Các with
tuyên bố hoạt động với open()
chức năng mở một tập tin.
Vì vậy, bạn có thể viết lại mã mà chúng tôi đã sử dụng trong open()
chức năng ví dụ như thế này:
with open("hello.txt") as my_file:
print(my_file.read())
# Output :
# Hello world
# I hope you're doing well today
# This is a text file
không giống open()
nơi bạn phải đóng tệp bằng close()
phương pháp, các with
câu lệnh đóng tệp cho bạn mà không cần bạn yêu cầu.
Điều này là do with
câu lệnh gọi 2 phương thức tích hợp đằng sau hậu trường – __enter()__
và __exit()__
.
Các __exit()__
phương thức đóng tệp khi thao tác bạn chỉ định hoàn tất.
với write()
phương pháp, bạn cũng ghi vào tệp như tôi đã làm dưới đây:
with open("hello.txt", "w") as my_file:
my_file.write("Hello world \n")
my_file.write("I hope you're doing well today \n")
my_file.write("This is a text file \n")
my_file.write("Have a nice time \n")
with open("hello.txt") as my_file:
print(my_file.read())
# Output:
# Hello world
# I hope you're doing well today
# This is a text file
# Have a nice time
**Bạn cũng có thể lặp qua tệp và in từng dòng văn bản:
**
with open("hello.txt", "w") as my_file:
my_file.write("Hello world \n")
my_file.write("I hope you're doing well today \n")
my_file.write("This is a text file \n")
my_file.write("Have a nice time \n")
with open("hello.txt") as my_file:
for line in my_file:
print(line)
# Output:
# Hello world
# I hope you're doing well today
# This is a text file
# Have a nice time
Phần kết luận
Bạn có thể tự hỏi mình nên sử dụng cách nào để làm việc với các tệp giữa tổ hợp with
và open()
và chỉ open()
chức năng.
Tôi sẽ khuyên bạn nên sử dụng sự kết hợp của with
và open()
bởi vì with
câu lệnh đóng tệp cho bạn và bạn có thể viết ít mã hơn.
Tiếp tục mã hóa 🙂