Đôi khi khi sử dụng ipython, bạn có thể nhấn một ngoại lệ trong một hàm đã mở tệp ở chế độ ghi. Điều này có nghĩa rằng thời gian tiếp theo bạn chạy các chức năng bạn nhận được một lỗi giá trị,Đóng tất cả các tệp đang mở trong ipython
ValueError: The file 'filename' is already opened. Please close it before reopening in write mode.
Tuy nhiên kể từ khi chức năng nghe trộm ra ngoài, tay cầm tập tin (được tạo ra bên trong hàm) bị mất, vì vậy nó không thể là đã đóng cửa. Cách duy nhất tròn nó có vẻ là để đóng phiên ipython, lúc này bạn nhận được thông báo:
Closing remaining open files: filename... done
Có cách nào để hướng dẫn ipython để đóng tập tin mà không bỏ phiên?
Bạn nên cố gắng luôn sử dụng câu lệnh [ 'with'] (http://docs.python.org/reference/compound_stmts.html#the-with-statement) khi làm việc với các tập tin , ví dụ, sử dụng 'với mở (" x.txt ") như fh:'. Điều này đảm bảo rằng nếu xảy ra sự cố, tệp sẽ được đóng. –
Chris
@Chris bạn nên đăng câu trả lời vì đó là giải pháp hợp lệ và đơn giản duy nhất – JBernardo
@JBernardo Cảm ơn bạn đã thực hiện đề xuất. – Chris