ft = open("a", 'w')
for entry in result :
print entry
try:
ft.write(entry+'\n')
except:
log.error('write backup error:'+JOBNAME)
finally:
ft.close()
os.chdir(basePath)
问题描述:在循环中将内容写入文件,但是本段代码在第一次循环中将文件关闭了,所以后边的写不进去。
解决方案:有两种解决方法
第一种:
ft = open("a", 'w')第二种:
建议使用第一种,因为第二种频繁对文件进行打开和关闭操作,效率较低。
对于文件操作建议你看看这篇博客 http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html。
总结:注意文件open(filepath, mode)方法,第一个参数是文件路径,第二个是文件操作模式。其中如果模式是”w“那么是以写的方式打开,那么原先的内容都没了,而模式‘a’是以追加写操作,是在文件末尾追加,不会擦除之前的内容,还有其他的模式请查看上边那篇博客。
此外,对于python中的try-except-finally的问题,这个是当try-except之间的代码没有抛出异常的情况下,执行try和finally;当try-except之间的代码出错时,执行except和finally。这一点要注意。
这里没有写写入模式,使用追加模式 “a”
这里没有写写入模式,使用追加模式 “a”