鱼C论坛

 找回密码
 立即注册
查看: 1309|回复: 6

EOFError: Ran out of input

[复制链接]
发表于 2021-8-1 14:16:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def cundang():
    while 1:
        try:
            with open("name-instant_1.pkl","rb") as file:
                my_list=pickle.load(file)
                name =my_list[instant_1]
            with open(name+".pkl","rb") as file:
                P =Protagonist()
                P.data =pickle.load(file)
                break
        except (FileNotFoundError,KeyError):
            name=eg.enterbox("初次登录,请输入昵称","galgame")
            try:
                with open("name-instant_1.pkl","rb") as file:
                    my_list =pickle.load(file)
                    my_list.setdefault(instant_1,name)
                with open("name-instant_1.pkl","wb") as file:
                    pickle.dump(my_list,file)
            except FileNotFoundError:
                with open("name-instant_1.pkl","wb") as file:
                    my_list ={}
                    my_list[instant_1]=name
            with open(name+".pkl","wb") as file:
                    P =Protagonist()
                    pickle.dump(P.data,file)
class Protagonist:
    data={"背包":{},"技能":{},"money":1000,"属性":{"HP":100,"Endurance":200,"IQ":105,"EQ":100,"strenth":15},"技能树":{}}
    def sleep(self):
        self.data["属性"]["HP"]=100
        self.data["属性"]["Endurance"]=100


求解
Traceback (most recent call last):
  File "D:\my game\my first game.py", line 391, in <module>
    cundang()
  File "D:\my game\my first game.py", line 108, in cundang
    my_list=pickle.load(file)
EOFError: Ran out of input

这又是什么错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-8-1 14:18:35 | 显示全部楼层
对了 instant_1是一个字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-1 14:24:26 | 显示全部楼层
新人求上岸 发表于 2021-8-1 14:18
对了 instant_1是一个字符串

代码不完整哦,上传完整代码代码不完整,很难找问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-1 14:27:06 | 显示全部楼层
def register():
    def go():
        while 1:
            global start,instant_1
            msg = "请输入用户名和密码"
            title ="galgame"
            choices = ["用户名","密码"]
            des_1=eg.multpasswordbox(msg,title,choices)
            try:
                if user_account_password[des_1[0]] != des_1[1]:
                    des_2=eg.buttonbox("用户名或密码错误","galgame",["注册","返回"])
                    if des_2=="注册":
                        eg.msgbox("加载中....")
                        wait()
                        break
                    else:
                        continue
                else:
                    instant_1 =des_1[0]
                    start = True
                    break
            except KeyError:
                des_2=eg.buttonbox("用户名不存在","galgame",["注册","返回"])
                if des_2=="注册":
                    eg.msgbox("加载中....")
                    wait()
                    break
                else:
                    continue


    def wait():
        while 1:
            msg = "请输入用户名和密码"
            title ="galgame"
            choices = ["用户名","密码"]
            des_1=eg.multpasswordbox(msg,title,choices)
            if des_1[0] in user_account_password:
                des_2=eg.buttonbox("用户名已存在","galgame",["登录","返回"])
                if des_2=="登录":
                    go()
                    break
                else:
                    continue
            else:
                user_account_password[des_1[0]]=des_1[1]
                break
    def cancel():
        while 1:
            msg = "请输入需要注销的用户名和密码"
            title ="galgame"
            choices = ["用户名","密码"]
            des_1=eg.multpasswordbox(msg,title,choices)
            try:
                if des_1[0]==des_1[1]:
                    user_account_password.pop(des_1[0])
                    break
                else:
                    eg.msgbox("输入的用户名或密码错误","galgame",ok_button="返回")
                    continue
            except KeyError:
                eg.msgbox("用户名不存在","galgame",ok_button="返回")
                continue
            
    def save():
        with open("user_account_password.pkl","wb") as pickle_file:
                pickle.dump(user_account_password,pickle_file)



            
    with open("user_account_password.pkl","rb") as pickle_file:
        user_account_password = pickle.load(pickle_file)
    global start,instant_1
    start =False
    while 1:
        msg="欢迎体验小游戏"
        title="galgame"
        choices = ["登录","注册","注销","退出"]
        decision = eg.buttonbox(msg,title,choices)
        if decision=="登录":
            go()
            save()
            break
        elif decision=="注册":
            wait()
            save()
            continue
        elif decision=="注销":
            cancel()
            save()
            continue
        else:
            print("感谢游玩")
            break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-1 14:27:48 | 显示全部楼层
1q23w31 发表于 2021-8-1 14:24
代码不完整哦,上传完整代码代码不完整,很难找问题

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-1 14:31:16 | 显示全部楼层
register()
if start:
    eg.msgbox("登录成功","galgame")
    cundang()
    while 1:
        home()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-1 14:43:11 | 显示全部楼层
0.0 问题已解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 17:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表