我已经通过 Stackoverflow 搜索了所有内容,但找不到修复程序,当然很多其他人也有同样的错误,但当我查找它们时,他们并没有真正提供帮助。错误是:
CommandInvokeError:命令引发异常:UnpicklingError:无效的加载键,'H'
这是我目前拥有的代码:
@bot.command(pass_context=True)
async def joke(ctx):
with open("joke_file1.pk1", "rb") as f:
joke_list = pickle.load(f)
await bot.say(random.choice(joke_list))
@bot.command(pass_context=True)
async def addjoke(ctx, *args):
if not os.path.isfile("joke_file1.pk1"):
joke_list = []
else:
with open("joke_file1.pk1", "rb") as f:
joke_list = pickle.load(f)
joke_list.append(" ".join(args))
with open("joke_file1.pk1", "wb") as f:
pickle.dump(joke_list, f)
那在我的主文件中,我还有另一个文件让它从我拥有的 .txt 文件中读取,这是那个文件的代码
import pickle
with open("joke_file1.pk1", "rb") as f:
jokes = pickle.load(f)
with open("joke_title1.txt", "r") as f:
data = f.readlines()
for joke in data:
jokes.append(joke.replace("\n", ""))
with open("joke_file1.pk1", "wb") as f:
pickle.dump(jokes, f)
我在第二个文件上得到与第一个文件相同的错误。如果有人可以帮我解决这个问题,我谢谢你!
该图像是所有文件的样子。Cow.py 是读取 .txt 文件的代码