我想對文件進行一些基本的過濾。閱讀它,做處理,寫回。打開文件,讀取它,處理並寫回 - 在Python中最短的方法
我不是在尋找「打高爾夫球」,而是想要最簡單最優雅的方法來實現這一點。我想出了:
from __future__ import with_statement
filename = "..." # or sys.argv...
with open(filename) as f:
new_txt = # ...some translation of f.read()
open(filename, 'w').write(new_txt)
的with
聲明讓事情更短,因爲我沒有明確地打開和關閉文件。
還有其他想法嗎?
只有在`f.truncate(0)`後面調用`f.seek(0)`時才適用,否則新文件以11個零字節(Linux上的Python 2.7.3)開頭。 – scai 2012-09-07 11:14:08