腌制/将 Python 中的虚拟文件保存到磁盘
Pickle / Save Virtual File in Python to Disk
我想在字典中 pickle 一个虚拟文件。
具体来说,我有一个 function G
方法 save()
需要一个文件对象或字符串(文件名)来将其内容保存到磁盘。
但是我想先把它保存到一个虚拟文件,然后把这个虚拟文件和相关数据一起放入一个dict
然后保存(pickle)完整的字典到磁盘。
如何保存到内存中的文件,将其包含在字典中并腌制它?或者你会怎么做?
类似于:
out = {
'var1': var1,
'var2': var2
}
with tempfile.SpooledTemporaryFile() as file:
G.save(file)
out['G'] = file
非常感谢!
我认为你想做的事情应该可以通过以下方式实现:
out = {
'var1': var1,
'var2': var2
}
with tempfile.SpooledTemporaryFile() as file:
G.save(file)
file.seek(0) # reset the file handle to the start
out['G'] = file.read() # read the binary data into your dict
二进制流稍后可以转换回类似文件的 obj。使用 io.BytesIO( out['G'] )
.
我想在字典中 pickle 一个虚拟文件。
具体来说,我有一个 function G
方法 save()
需要一个文件对象或字符串(文件名)来将其内容保存到磁盘。
但是我想先把它保存到一个虚拟文件,然后把这个虚拟文件和相关数据一起放入一个dict
然后保存(pickle)完整的字典到磁盘。
如何保存到内存中的文件,将其包含在字典中并腌制它?或者你会怎么做?
类似于:
out = {
'var1': var1,
'var2': var2
}
with tempfile.SpooledTemporaryFile() as file:
G.save(file)
out['G'] = file
非常感谢!
我认为你想做的事情应该可以通过以下方式实现:
out = {
'var1': var1,
'var2': var2
}
with tempfile.SpooledTemporaryFile() as file:
G.save(file)
file.seek(0) # reset the file handle to the start
out['G'] = file.read() # read the binary data into your dict
二进制流稍后可以转换回类似文件的 obj。使用 io.BytesIO( out['G'] )
.