Python 让字符串充当文件
我正在使用一个库,它希望我以文件名的形式传递数据。然后它将打开该文件并读取数据。我有一个字符串中的数据,我不想将其写入文件(因为我不想在以后删除它)Python 让字符串充当文件,python,stream,Python,Stream,我正在使用一个库,它希望我以文件名的形式传递数据。然后它将打开该文件并读取数据。我有一个字符串中的数据,我不想将其写入文件(因为我不想在以后删除它) 是否有一种方法可以将字符串转换为流并生成一个文件名,使我的库能够打开我的流并访问字符串的内容?为什么不使用内置于python的tempfile模块?如果您使用的是Linux,您可能可以使用命名管道。除非我没有领会您的意思,否则tempfile.NamedTemporaryFile正是您想要的,hh或者在传递名称之前使用fh.flush()。。。但是
是否有一种方法可以将字符串转换为流并生成一个文件名,使我的库能够打开我的流并访问字符串的内容?为什么不使用内置于python的tempfile模块?如果您使用的是Linux,您可能可以使用命名管道。除非我没有领会您的意思,否则tempfile.NamedTemporaryFile正是您想要的,hh或者在传递名称之前使用
fh.flush()
。。。但是yeahWas会说可能是偶然刷新,但是使用刷新是否可以保证数据会被写入?我想是的。。。每次我遇到缓冲区问题时,它都会起作用:P(虽然我不会去挖掘证据……但我认为在缓冲区刷新之前它不会返回)是的,我正在考虑磁盘写入,这就是我今晚要做的!我可以为文件指定扩展名吗?
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