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

alv*_*vas 6 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'
... 
Run Code Online (Sandbox Code Playgroud)

使用时有优势print>>File,吗?

vol*_*ano 8

write()方法写入缓冲区,每当overflown/file关闭/得到显式request(.flush())时,(缓冲区)就会被刷新到文件中.

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

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