You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.4.3游戏加载系统读取TXT文件异常问题求助

问题修复方案

核心问题

  • 缩进混乱:Python对缩进要求严格,你代码里的缩进错误会导致部分逻辑根本不执行,甚至触发语法错误。
  • 冗余代码报错:第一行if line:username, ...里的line未定义,这行完全多余,会直接中断程序。
  • 全局变量声明位置错误:global username和global password放在条件块里无效,必须放在函数开头才能正确声明全局变量。
  • 变量作用域风险:如果文件读取逻辑未执行(比如路径错误),dmgs等变量不会被定义,后续引用必然报错。

修复后的代码

def load_user_data():
    # 提前声明要操作的全局变量
    global username, password, points, dmgs, chugs, shields
    # 拼接文件路径(确保username已提前赋值)
    file_path = f"Login {username}.txt"
    try:
        with open(file_path, "r") as f:
            for line in f:
                line = line.strip()
                if line:
                    # 分割后去除每个元素的空格,避免文本内的空格干扰数据
                    parts = [part.strip() for part in line.split(",")]
                    username, password, points, dmgs, chugs, shields = parts
                    # 将数值类型转换为int,方便后续游戏逻辑运算
                    points = int(points)
                    dmgs = int(dmgs)
                    chugs = int(chugs)
                    shields = int(shields)
                    print(dmgs)
    except FileNotFoundError:
        print(f"错误:未找到文件 {file_path}")
    except ValueError:
        print("错误:文件格式不正确,需为'用户名,密码,点数,伤害,道具1,道具2'格式")

# 示例调用(先给全局变量username赋值)
username = "user"
load_user_data()

额外优化说明

  • 新增try-except块,可直接定位是文件缺失还是格式错误,便于排查问题。
  • 对分割后的元素做去空格处理,适配你TXT文件中逗号后带空格的格式。
  • 将数值类变量转为整数,避免后续游戏逻辑中出现字符串与数字混用的问题。
  • 规范代码缩进,确保逻辑按预期顺序执行。

内容的提问来源于stack exchange,提问作者aaaaaaaaaaaaaahhhhhhhh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 17:02:06