石本です。
On Tue, 26 Jul 2005 16:34:29 +0900 (JST)
kbk@... (Bruce.) wrote:
> 上記のスクリプトを実行すると、sample.txtに書き込まれるわけですが、
> その結果が
>
> testfile1:2001: found text
> testfile2:2051: found text 2
>
最初の
> print >> h, "%s:%d: " % ("testfile1", 2001),
で、最後に「,」がついているためです。これがあると、出力ファイル(h)に、
「次にprintするときにはスペースつけてから出力ね」というフラグが立ち、
truncate()してもクリアされません。別のStringIOインスタンスを使うか、2回
目のprint前に
h.softspace=False
とすると直ると思います。
# 個人的にはprintをつかわずに、f.write()で統一した方が好きですが。
--------------------------
Atsuo Ishimoto
ishimoto@...
Homepage:http://www.gembook.jp