python - Pickle - 如果存在则加载变量或创建并保存它

标签 python serialization pickle

如果变量已经存在,是否有更好的方法使用 pickle 加载变量,或者如果不存在则创建并转储它?

if os.path.isfile("var.pickle"):
    foo = pickle.load( open( "var.pickle", "rb" ) )
else:
    foo = 3
    pickle.dump( foo, open( "var.pickle", "wb" ) )

最佳答案

您可以关注EAFP principleask for forgiveness :

import pickle

try:
    foo = pickle.load(open("var.pickle", "rb"))
except (OSError, IOError) as e:
    foo = 3
    pickle.dump(foo, open("var.pickle", "wb"))

关于python - Pickle - 如果存在则加载变量或创建并保存它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26835477/

相关文章:

serialization - 在 visual studio 2010 上找不到 System.Runtime.serialization.dll

javascript - 序列化 DOM 范围

C# 对象到 XML

python - Pandas Column 数学运算 没有错误没有答案

python - 我是否需要在我的Python Dockerfile中进行apt-get更新和升级

python - 使用 os.listdir 解决 OSError

python - 使用 : GridSearchCV, 管道、OneVsRestClassifier、SGDClassifier 的 Scikit-learn 多输出分类器

Python 多处理,进程和池的区别,数据的 pickle

python - 多处理中的 Pickle