Close() trong python là gì?
Đối với bất kỳ ai làm việc với Python, việc tương tác với các tệp sẽ không thể tránh khỏi. Phương pháp đơn giản nhất để mở và đóng tệp dưới đây Show
Một trong những lỗi phổ biến nhất mà mọi người mắc phải khi sử dụng tệp trong Python là không đóng chúng sau đó. Trong bài học này, chúng ta sẽ xem xét một số vấn đề gây ra khi để tệp mở và cách chúng ta có thể tránh những vấn đề này bằng cách sử dụng phương pháp hay nhất đã được thiết lập Tại sao phải đóng tệp?Không đóng tệp sau khi tương tác không chỉ gây lãng phí tài nguyên chương trình mà còn có thể ngăn các tương tác tệp khác và có thể dẫn đến sự không nhất quán khi chạy tập lệnh của bạn trên các phiên bản Python khác nhau. Để các tệp mở cũng được nhiều người coi là một thói quen xấu và tốt nhất là bạn nên sớm hình thành thói quen tốt ví dụ 1. Không đóng chính xácHãy tưởng tượng bạn có một tệp, được gọi là tệp_1. txt, hãy lưu trữ trong cùng thư mục với tập lệnh Python của bạn. Tệp này chứa văn bản "Đây là tệp văn bản 1" Bạn muốn đọc tệp bằng Python, hiển thị văn bản và nối thêm một dòng mới để đánh dấu rằng bạn đã đọc tệp văn bản. Quá trình này được hiển thị (không chính xác) bên dưới
Ngoài
Các tập tin đã được đóng một cách chính xác, phải không? Trong ví dụ này, chúng tôi chỉ đóng tệp sau lần mở gần đây nhất. Đối với một số phiên bản Python, mã được sử dụng có thể không ghi chính xác văn bản được nối vì tệp chưa được đóng sau khi hoàn thành thao tác. Để chứng minh điều này, hãy quan sát điều gì sẽ xảy ra nếu chúng ta cố gắng đóng từng tệp riêng lẻ ở cuối như một giải pháp
Ngoài
Chúng ta có thể thấy rằng việc thêm vào tệp từ 2 không được phản ánh trong 3Mã hóa như thế này cũng có khả năng làm hỏng tệp, khiến tệp không được đọc hoặc sử dụng lại trong tương lai. Ví dụ này đơn giản, nhưng nếu bạn đang viết một tập lệnh có thêm thông tin bổ sung vào một tệp dài chứa đầy dữ liệu khách hàng có giá trị hoặc dữ liệu mất hàng tháng để tìm kiếm trên web, thì tệp bị hỏng sẽ trở thành một vấn đề tốn kém Để khắc phục ví dụ này, chúng tôi cần đảm bảo đóng tệp sau khi ghi trước khi thử đọc lại
Ngoài
Một cách thay thế dễ dàng hơn để xử lý thủ công 4 cho mỗi tệp là sử dụng trình quản lý bối cảnhví dụ 2. Trình quản lý bối cảnhĐể đóng thuộc tính tệp, giải pháp đơn giản nhất tuân theo các phương pháp hay nhất là sử dụng cái được gọi là câu lệnh 5 bất cứ khi nào mở tệp. Mẫu này còn được gọi là sử dụng trình quản lý ngữ cảnh, một khái niệm cơ bản trong PythonDưới đây là một ví dụ về việc sử dụng câu lệnh 5 để đảm bảo các tệp được đóng
Ngoài
Mã được cập nhật cung cấp chức năng tương tự với yêu cầu viết mã ít hơn. Sử dụng câu lệnh 7 sẽ tự động đóng tệp sau khi hoàn thành khốiViệc sử dụng trình quản lý ngữ cảnh không chỉ giúp bạn không phải nhớ đóng tệp theo cách thủ công mà còn giúp người khác đọc mã của bạn dễ dàng biết chính xác chương trình đang sử dụng tệp như thế nào Sử dụng 7 thường là lựa chọn đúng đắn, nhưng có thể có những tình huống mà dự án của bạn có thể yêu cầu đóng tệp theo cách thủ côngLỗi phạm vi trình quản lý bối cảnhKhi sử dụng trình quản lý bối cảnh, có một số lỗi có thể xảy ra. Một ví dụ về điều này là một 9. Hãy xem xét mã dưới đây
Ngoài 0Lỗi này xảy ra do chúng tôi đã sử dụng thao tác tệp 0 bên ngoài phạm vi 7. Vì trình quản lý bối cảnh tự động đóng tệp sau khi thực thi mã thụt lề, nên Python không thể thực hiện bất kỳ thao tác tệp nào tiếp theo. Chúng ta có thể dễ dàng khắc phục sự cố này bằng cách giữ mọi thứ trong phạm vi 7, như vậy 1Tập lệnh mới thực thi thành công, ghi thông báo vào tệp trước khi đóng tệp Bản tóm tắtBất kỳ ai làm việc với Python rất có thể sẽ cần phải làm việc nhiều với các tệp. Một phần thiết yếu của tương tác tệp là đảm bảo đóng chúng khi bạn hoàn thành Để các tệp mở có thể gây ra nhiều sự cố, đặc biệt là trong các dự án lớn dựa trên nhiều loại tệp Như chúng ta đã thảo luận, một cách đơn giản để tránh các rắc rối mà việc để tệp mở có thể gây ra là mở tệp của bạn bằng trình quản lý ngữ cảnh, trình quản lý này sẽ tự động đóng tệp cho bạn. Làm theo mẫu này sẽ giúp bạn tiết kiệm một công việc đồng thời ngăn ngừa lãng phí tài nguyên và sự không nhất quán của phiên bản. Quan trọng nhất, việc sử dụng các câu lệnh 5 sẽ giúp mã của bạn trông rõ ràng và chuyên nghiệp hơnBắt đầu học miễn phí Nhận thông tin cập nhật trong hộp thư đến của bạnTham gia cùng hơn 7.500 người học khoa học dữ liệu Bài viết gần đâyƯu đãi khóa học tốt nhất cho Thứ Sáu Đen và Thứ Hai Điện Tử 2022Hàm sigmoidchấm sản phẩm7 khóa học về trí tuệ nhân tạo (AI) tốt nhất năm 2023Nhận thông tin cập nhật trong hộp thư đến của bạnTham gia cùng hơn 7.500 người học khoa học dữ liệu Gặp gỡ các tác giảNhà khoa học dữ liệu Alfie Grace Alfie tốt nghiệp Thạc sĩ Kỹ thuật Cơ khí tại Đại học College London. Anh ấy hiện đang làm Nhà khoa học dữ liệu tại Square Enix. Tìm anh ấy trên LinkedIn Hàm close() trả về trong Python là gì?Mô tả. Trả về a Boolean cho biết tệp có bị đóng hay không .
Việc sử dụng chức năng đóng là gì?Hàm close() đóng bộ mô tả, bộ lọc . Điều này giải phóng bộ mô tả để được trả về bởi các lệnh gọi open() trong tương lai và các lệnh gọi khác tạo bộ mô tả.
Tại sao lại là. đóng quan trọng trong Python?Bạn đã biết lý do tại sao việc đóng tệp trong Python lại quan trọng. Vì các tệp là tài nguyên hạn chế do hệ điều hành quản lý nên việc đảm bảo các tệp được đóng sau khi sử dụng sẽ bảo vệ khỏi các sự cố khó gỡ lỗi như hết khả năng xử lý tệp hoặc gặp phải dữ liệu bị hỏng
Sự khác biệt giữa đóng tệp và đóng tệp () là gì?đã đóng là thành viên cho bạn biết liệu tệp của bạn đã được đóng hay chưa (điều này tự động thực hiện), f. close() đóng tệp của bạn . |