作者: Atsuo Ishimoto
日時: 2005/7/27(12:29)
石本です。

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