我正在为我的python3.4.3游戏制作一个加载系统,它应该从一个txt文件中获取信息并输出它们,但它不起作用

t3psigkw  于 2023-06-07  发布在  Python
关注(0)|答案(1)|浏览(109)

这是我的代码为加载系统的问题,我有是与阅读部分

if line:username, password, points, dmgs, chugs, shields = line.split(",")  
  global username
    global password
    with open("Login " + username + ".txt", "r") as f:
        users = {}
        for line in f:
            line = line.strip()
            if line:
                username, password, points, dmgs, chugs, shields = line.split(",")
                print(dmgs)

这就是文件的样子

user, name, 0, 3, 3, 3

这些数字表示变量(点,dmgs,chugs,盾牌)我试着运行它,它没有显示3,它应该是(用户名、0、3、3、3)第一个3是dmgs变量,但它要么不显示任何内容,要么int为空,如果我在代码中的其他任何地方引用它,它会告诉我dmgs没有定义(这是一个函数的一部分)这真的让我和一些人感到困惑,但这是在python3.4.3中,只是为了清楚(函数在此代码和用户名定义后被引用,它只是需要打印变量的部分)

hgqdbh6s

hgqdbh6s1#

我有点糊涂了。您在问题中给出的代码可以正确工作,但您可以使代码更清晰。

lines = []
with open("file.txt") as f:
    for line in f.readlines():
        lines.append({
                key: value for key, value in zip(
                    ["username", "password", "points", "dmgs", "chugs", "shields"],
                    line.strip().split(","))
            })

最后,lines是一个列表,其中包含一个字典,键为["username", "password", "points", "dmgs", "chugs", "shields"]。如果file.txt包含user, name, 0, 3, 3, 3,则行为[{'username': 'user', 'password': ' name', 'points': ' 0', 'dmgs': ' 3', 'chugs': ' 3', 'shields': ' 3'}]

相关问题