将字符串写入文件的pythonic方法是什么?

时间:2014-01-01 12:10:30

标签: python file-io

使用File.write()print>>File,之间的区别是什么?

哪种写入文件的pythonic方式?

>>> with open('out.txt','w') as fout:
...     fout.write('foo bar')
... 

>>> with open('out.txt', 'w') as fout:
...     print>>fout, 'foo bar'
... 

使用print>>File,时是否有优势?

2 个答案:

答案 0 :(得分:8)

write()方法写入缓冲区,只要overflown / file closed /获得显式请求(.flush()),就会将(缓冲区)刷新到文件中。

print将阻止执行,直到实际写入文件完成。

第一种形式是首选,因为它的执行效率更高。此外,第二种形式是丑陋和非pythonic。

答案 1 :(得分:1)

最pythonic的方式是.write()。

我甚至不知道其他方式,但它甚至不适用于Python 3.3

类似的做法是:

fout = open("out.txt", "w")
fout.write("foo bar")
#fout.close() if you were done with the writing