gpt4 book ai didi

python - 在 pickle 中保存整数并调用它们

转载 作者:行者123 更新时间:2023-11-28 21:49:02 24 4
gpt4 key购买 nike

所以这是我的代码,我想将值'test'保存到文件中,以便在程序重新打开时可以调用它来使用。

import pickle
test = 0

def Save():
with open('objs.pickle', 'wb') as f:
pickle.dump(test, f)

def Load():
with open('objs.pickle', 'rb') as f:
test = pickle.load(f)

这段代码的问题是,当我重新打开程序并运行并输入 Load() 时,它说“test”仍然等于 0。(可能遗漏了一些明显的东西)

所以我的问题是,如何解决以斜体显示的问题?

最佳答案

全局变量testLoad()函数内部的test无关。将您的功能更改为:

def Load():
with open('objs.pickle', 'rb') as f:
return pickle.load(f)

现在这个函数返回它从 pickle 文件中读取的值。

这样调用它:

print(Load())

旁注:按照惯例,函数名称在 Python 中都是小写的。所以函数名实际上应该是load()

编辑

整个程序的风格更好:

import pickle

def save(file_name, obj):
with open(file_name, 'wb') as fobj:
pickle.dump(obj, fobj)

def load(file_name):
with open(file_name, 'rb') as fobj:
return pickle.load(fobj)

def main():
test = 0
file_name = 'objs.pickle'
save(file_name, test)
print(load(file_name))

if __name__ == '__main__':
main()

关于python - 在 pickle 中保存整数并调用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34220150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com