【发布时间】:2018-10-01 01:09:55
【问题描述】:
我已经通过 Stackoverflow 搜索了所有内容,但我找不到修复程序,当然很多其他人也有同样的错误,但当我查找它们时,他们并没有真正提供帮助。错误是:
CommandInvokeError: 命令引发异常:UnpicklingError: invalid load key, '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 文件的代码
【问题讨论】:
标签: python pickle discord.py jsonpickle