由于某些原因,在For循环之后,我无法读取输出文本文件。 例如:
for line in a:
name = (x)
f = open('name','w')
for line in b:
get = (something)
f.write(get)
for line in c:
get2 = (something2)
f.write(get2)
(the below works if the above is commented out only)
f1 = open(name, 'r')
for line in f1:
print line
如果我注释掉循环,我就可以读取文件并打印内容。你知道吗
我是一个非常新的编码和猜测这是一些明显的,我失踪了。不过我好像想不通。我用过谷歌,但我读得越多,我就越觉得自己遗漏了什么。任何建议都将不胜感激。你知道吗
@伯尼在上面的评论是对的。问题是,当您执行
open(..., 'w')
操作时,文件被重写为空,但是Python/OS实际上不会将您write
的内容写入磁盘,直到它的缓冲区被填满或者您调用close()
。(这种延迟有助于加快速度,因为写入磁盘的速度很慢。)您也可以调用flush()
来强制执行此操作,而不关闭文件。你知道吗bernie提到的
with
语句如下所示:如果您使用的是python2.5,而不是2.6或2.7,则必须在文件顶部执行
from __future__ import with_statement
。你知道吗相关问题 更多 >
编程相关推荐