7

一時ファイルを作成して書き込むことはできますが、ファイル行を読み取ると空になります。一時ファイルにコンテンツがあることを確認しました。これが私のコードです。ありがとう

import tempfile
temp = tempfile.NamedTemporaryFile()

with open("~/somefile.txt") as inf:
    for line in inf:
        if line==line.lstrip():
            temp.write(line)

line = str(temp.readline()).strip()
print line #nothing
4

1 に答える 1

16

一時ファイルから読み取る前に、一時ファイルを再度開く (または巻き戻す) 必要があります。

import tempfile
temp = tempfile.NamedTemporaryFile()

with open("~/somefile.txt") as inf:
    for line in inf:
        if line==line.lstrip():
            temp.write(line)

temp.seek(0) # <=============== ADDED

line = str(temp.readline()).strip()
print line

それ以外の場合、 を呼び出すと、ファイル ポインタはファイルの末尾に配置されますtemp.readline()

于 2012-05-07T07:26:37.257 に答える