簡體   English   中英

程序退出時關閉Python文件

[英]Python File Close on Program Exit

如果我想在程序中使用無限循環關閉文件,我可以執行以下操作:

file = open('abc', 'w')

while True:
    try:
        file.write('a\n')
    except KeyboardInterrupt:
        break

file.close()

但如果我就這樣離開它:

file = open('abc', 'w')

while True:
    file.write('a\n')

文件在退出時是否會關閉?

Python有自動垃圾收集 垃圾收集是自動清除未使用的文件句柄或內存中的數據。 當一個python程序停止時,如果它已經完全停止,它將釋放它關閉時使用的內存和文件句柄。 在編寫運行較長時間的程序或訪問大量信息或文件時,熟悉垃圾收集的工作方式是明智的。

如上所述@Mitch Jackson,如果python程序干凈利落,它將釋放內存。 在您的情況下,因為您只是在while循環中打開一個文件。 程序將無法在暫停時關閉已打開的文件,除非您明確包含異常處理(如try-catch blockwith語句將其包裝起來。

下面是對文件with聲明: 文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM