1

我已经通过 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 文件的代码 该图像是所有文件的样子。 Cow.py 是读取 .txt 文件的代码

4

1 回答 1

0

我修好了一切。我需要做的就是删除预设文件并再次运行机器人。一旦运行,一切都会再次运行。吨

于 2018-10-01T03:53:10.453 回答