我想对文件进行一些基本的过滤。阅读它,做处理,写回。打开文件,读取它,处理并写回 - 在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