Python 2 - ValueError: not enough values to unpack (expected 6, got 1)
Python 2 - ValueError: not enough values to unpack (expected 6, got 1)
我一直收到这个错误,我不知道如何解决我需要帮助。
ValueError: not enough values to unpack (expected 6, got 1)
这是我加载的方式
with open('objs.pickle', "rb") as f:
money, hunger, thirst, energy, wanted, gun = pickle.load(f)
这就是我节省的方式
with open('objs.pickle', 'ab') as f: # Python 3: open(..., 'wb')
pickle.dump([money, hunger, thirst, energy, gun, wanted], f)
pickle.load 只会加载它在文件中找到的第一个腌制对象。在您的情况下,这是一个包含两个以上键的字典,因此 x, y = pickle.load(...) 失败,因为它试图将字典的键解压缩到标识符 x 和 y.
with open("objs.pickle") as f:
first_dict = pickle.load(f) # file pointer is now at end of first object
second_dict = pickle.load(f) # read in second object
等等
如果将这些词放在一个对象中会更好,例如一个元组和泡菜那个单一的对象。当您不知道文件中有多少个 pickled 对象时,这会容易得多。
my_list = ['money', 'hunger', 'thirst', 'energy', 'wanted', 'gun']
tuple(my_list)
现在腌制元组 my_list。
我一直收到这个错误,我不知道如何解决我需要帮助。
ValueError: not enough values to unpack (expected 6, got 1)
这是我加载的方式
with open('objs.pickle', "rb") as f:
money, hunger, thirst, energy, wanted, gun = pickle.load(f)
这就是我节省的方式
with open('objs.pickle', 'ab') as f: # Python 3: open(..., 'wb')
pickle.dump([money, hunger, thirst, energy, gun, wanted], f)
pickle.load 只会加载它在文件中找到的第一个腌制对象。在您的情况下,这是一个包含两个以上键的字典,因此 x, y = pickle.load(...) 失败,因为它试图将字典的键解压缩到标识符 x 和 y.
with open("objs.pickle") as f:
first_dict = pickle.load(f) # file pointer is now at end of first object
second_dict = pickle.load(f) # read in second object
等等
如果将这些词放在一个对象中会更好,例如一个元组和泡菜那个单一的对象。当您不知道文件中有多少个 pickled 对象时,这会容易得多。
my_list = ['money', 'hunger', 'thirst', 'energy', 'wanted', 'gun']
tuple(my_list)
现在腌制元组 my_list。