作者: Bruce.
日時: 2005/7/27(17:01)
Bruce.です。

Atsuo Ishimoto writes:

> で、最後に「,」がついているためです。これがあると、出力ファイル(h)に、
> 「次にprintするときにはスペースつけてから出力ね」というフラグが立ち、
> truncate()してもクリアされません。別のStringIOインスタンスを使うか、2回
> 目のprint前に 
>     h.softspace=False
> とすると直ると思います。

ありがとうございます。','を末尾につけたときの動作は単に改行しないだけと
思っていました。改めてドキュメントを確認してみましたがちゃんと書いてあ
りますね。教えられた対処方法も確認しました。

> # 個人的にはprintをつかわずに、f.write()で統一した方が好きですが。

ごもっともです。

元々の要求は、「"マルチバイト文字列" + "整数" + "Unicode文字列"という
並びを、printfで行うように書式づけて出力したい」というものでした。
で、色々試行錯誤していたわけですがどうやらprintのみでもできそうですね。


いじょ。