joblib.dump
似乎对我没有任何帮助。可能我遇到版本冲突或其他问题。任何帮助表示赞赏。
我的作业库版本:0.13.2
似乎也会影响0.14.0
要复制:
import joblib
import os
foo = open("bar", "w+b")
joblib.dump("test", foo)
print(os.stat("bar").st_size)
#prints 0... expect the size of a file containing the pickled string "test" > 0 bytes
答案 0 :(得分:1)
缓冲区尚未写入磁盘,因此文件已创建但没有内容。您必须刷新内部缓冲区,然后将内容写入文件:
>>> foo = open("bar", "w+b")
>>> joblib.dump("test", foo)
>>> foo.flush()
>>> print(os.stat("bar").st_size)
14
或使用自动执行此操作的上下文管理器:
>>> with open("bar", "w+b") as foo:
>>> joblib.dump("test", foo)
>>> print(os.stat("bar").st_size)
14
或者您可以禁用缓冲:
>>> foo = open("bar", "w+b", buffering=0)
>>> joblib.dump("test", foo)
>>> print(os.stat("bar").st_size)
14