13
在Python(> 2.7)做代碼:在內聯「打開和寫入文件」是關閉()隱式?
open('tick.001', 'w').write('test')
具有相同的結果:
ftest = open('tick.001', 'w')
ftest.write('test')
ftest.close()
和在哪裏可以找到關於 '關閉' 這個在線functionnality文檔?
在Python(> 2.7)做代碼:在內聯「打開和寫入文件」是關閉()隱式?
open('tick.001', 'w').write('test')
具有相同的結果:
ftest = open('tick.001', 'w')
ftest.write('test')
ftest.close()
和在哪裏可以找到關於 '關閉' 這個在線functionnality文檔?
這裏close()
發生在file
對象從內存中釋放時,作爲其刪除邏輯的一部分。因爲其他虛擬機上的現代Pythons(如Java和.NET)無法控制何時從內存中釋放對象,所以它不再被認爲是open()
的好Python,沒有close()
。今天的建議是使用一個with
聲明,其中明確請求close()
時,會退出塊:
with open('myfile') as f:
# use the file
# when you get back out to this level of code, the file is closed
如果你並不需要一個名字f
的文件,那麼你可以從聲明中省略as
條款:
with open('myfile'):
# use the file
# when you get back out to this level of code, the file is closed
對我來說確定很好的答案。 – philnext 2011-03-19 16:15:06
是否可以內聯或沒有臨時'f'? – 2014-10-10 16:17:44
是的,我已經補充了這個問題,以顯示如何不爲該文件創建一個名稱「f」。 – 2014-10-10 17:25:48