Bruce.です。
from StringIO import StringIO
h = StringIO()
f = open("sample.txt", "w")
print >> h, "%s:%d: " % ("testfile1", 2001),
f.write(h.getvalue())
f.write("found text")
f.write("\n")
#h.seek(0)
h.truncate(0)
print >> h, "%s:%d: " % ("testfile2", 2051),
f.write(h.getvalue())
f.write("found text 2")
f.write("\n")
h.close()
f.close()
上記のスクリプトを実行すると、sample.txtに書き込まれるわけですが、
その結果が
testfile1:2001: found text
testfile2:2051: found text 2
のように、2行目の頭になぜかスペースが入ってしまいます。
2つめのprint文のところで直接文字列をStringIOオブジェクトに出力したとき
にはこのスペースは入りません。
まあけちけちせずに新しくStringIOオブジェクトを作ってやれば問題ないので
すが、どうも気になります。
いじょ。