PythonTip >> 博文 >> chinaunix

python 写文件碰到的一个小问题

zihua 2014-01-13 18:01:40 点击: 793 | 收藏


今天在定位一个问题,主体是两个文件的通过某个字段关联,然后合并写入第三个文件。
在少量数据测试时OK,无明显错误,
但数据量较大时,执行完成后(无报错),
检查输出文件,发现到一定的行数以后,截断了。
于是在写入文本命令前print,查看结果也没问题,但是写入文本,就是缺少数据。
无奈,后将该脚本上传至Linux执行,输出文件竟然是完整的
百思不得其解。
后联想到以前好像看过f.write(line)并不是直接写入文本,会有一个缓存,然后写入(难道因为数据量太大超过缓存最大值??)
于是验证是否有这方面的原因,
baidu得知 f=open('test.unl','w',0)  改函数有第三个参数,为0是不缓存。于是添加了该参数,再次
执行,输出文件完整无丢失。

ps:以上个人猜测,未严格验证
原文链接:http://blog.chinaunix.net/uid-23062171-id-3895595.html

作者:zihua | 分类: chinaunix | 标签: python | 阅读: 793 | 发布于: 2014-01-13 18时 |