使用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,
时是否有优势?
答案 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