我在Python shell中,我試圖理解基本知識。以下是我輸入的內容:無法理解Python的「截斷」和「寫入」
doc = open('test.txt', 'w') # this opens the file or creates it if it doesn't exist
doc.write('blah blah')
doc.truncate()
我瞭解第一行。但是,在第二行中,是不是應該將「blah blah」寫入文件?它不這樣做。但是,當我對文件運行truncate
函數時,'blah blah'突然出現。有人可以向我解釋這個邏輯是如何工作的嗎?我想truncate
應該擦除文件的內容?爲什麼前面的write
行顯示出來?
你可以在這裏看到答案:http://stackoverflow.com/questions/26917197/what-exactly-does-truncate-do-in-this-case – merenptah
@merenptah這是我以前的問題。我明白'truncate'的作用,但在這種情況下它不能按預期工作,這就是爲什麼我打開第二個更具體的問題的原因。 – J82
寫入將被緩存,並且直到您刷新緩衝區或關閉文件纔會顯示,並且截斷可能會在設置文件大小之前刷新緩衝區。 –