如何定义变量,这样它就不会在我每次 运行 时都清理我的文件

How to define variable so it doesn't clean my file every time I run it

我刚开始学字典,遇到了以下问题。我有变量 dictionary ,它通过其他一些函数修改了多次,并且每次发生时如果使用 pickle 模块将自身转储到文件(必须使用 pickle)。 dictionary 最初定义为 dictionary = {} 所以每次我 运行 程序都会清理文件。我想用 pickle.load 来定义它,但它确实不起作用。有谁知道我如何修改它以便它加载文件,以防万一它是空的它添加空字典。

这是给我带来问题的代码部分:

dictionary = {}
toys = open('toysFile','wb')
pickle.dump(dictionary,toys)
toys.close()
toysRB = open('deporte,','rb')
toysRBLoad = pickle.load(toysRB)
print(toysRB)

你可以试试

import pickle

dictionary = {"test": "1"}

# save to pickle file
toys = open('toysFile.pkl','ab')
pickle.dump(dictionary,toys)
toys.close()

# load pickle file
toysRB = open('toysFile.pkl','rb')
toysRBLoad = pickle.load(toysRB)

print(toysRBLoad)

检查文件是否已经存在,如果不存在,则创建它:

try:
    dictionary = pickle.load(open('toysFile",'rb'))
except Exception as e:
    dictionary = {}
    toys = open('toysFile','wb')
    pickle.dump(dictionary,toys)

(未经测试的代码应该可以工作)