我正在處理一個庫,它希望我以文件名的形式傳遞它的數據。然後它會打開該文件並讀取數據。我有一個字符串中的數據,我不想將它寫入一個文件(因爲我不想在之後刪除它)。讓字符串充當文件
有沒有一種方法可以將字符串轉換爲流並生成文件名,這將允許我的庫打開我的流並訪問我的字符串的內容?
我正在處理一個庫,它希望我以文件名的形式傳遞它的數據。然後它會打開該文件並讀取數據。我有一個字符串中的數據,我不想將它寫入一個文件(因爲我不想在之後刪除它)。讓字符串充當文件
有沒有一種方法可以將字符串轉換爲流並生成文件名,這將允許我的庫打開我的流並訪問我的字符串的內容?
import tempfile
fh = tempfile.NamedTemporaryFile() # this creates an actual file in the temp directory
fh.write(my_string)
print fh.name
call_other_thing(fh.name)
fh.close() # file is now deleted
呃,或者只是在傳遞名字之前使用'fh.flush()'...但是是的 –
可能會說機會沖洗,但是有沒有保證使用刷新數據將被寫入? –
我認爲是這樣的......每當我有緩衝區問題時,它的工作:P(不會挖掘證明雖然...但我不認爲它會返回,直到緩衝區被刷新) –
爲什麼不使用內建到python的tempfile模塊? –
如果您使用的是Linux,您可能可以使用命名管道。 – jojonas
除非我錯過了你的觀點,那麼tempfile.NamedTemporaryFile正是你想要的 –