达令说
我不赞成使用这样的代码,相反,我会敦促你用你试图解决的实际问题来更新问题,而不是有可能在读写模式下打开一个泡菜对象。将其包装在尝试中的原因除外,这是在泡菜文件不存在时第一次运行,因此我们将创建它。import pickletry: with open("my_pickle.file", "rb+") as pickle_file: mylist = pickle.load(pickle_file) mylist = [i * 2 for i in mylist] pickle_file.seek(0) pickle.dump(mylist, pickle_file) print(mylist)except FileNotFoundError as fnfe: with open("my_pickle.file", "wb") as pickle_file: pickle.dump([1, 2, 3], pickle_file)运行此脚本 5 次,第一次创建腌制对象,接下来 4 次,它将使列表中的值加倍输出[1, 2, 3][2, 4, 6][4, 8, 12][8, 16, 24][16, 32, 48]但同样,这不是我会推荐的东西。相反,如果您使用实际代码和问题更新问题,则可能有更好的方法来解决此问题并获得其他答案。