Python 怎样把读出来的资料写入字典

我是学习了一个月的初学者
正在努力学习资料写入字典
这是我的代码:

def main(file):
    with open(file, "r", encoding="utf-8") as f:
        lines = f.readlines()
        for line in lines:
            dict1 = {}
            line = line.strip()
            if "AccountName" in line:
                valueo = line.split('\"')[3]
            if "7656" in line:
                keyo = line.split('\"')[1]
                dict1[keyo] = valueo

main("loginusers.vdf")

我搞不懂怎样引用valueo变数
輸出:

UnboundLocalError: local variable 'valueo' referenced before assignment

我希望可以输出为

{"76561234567896" : "handsomeboy", "76561234554984" : "handsomegirl"}

因为你是分两个if判断,
如果 if "AccountName" in line:判断不成功,只有 if "7656" in line: 判断成功,
在执行 dict1[keyo] = valueo 时valueo还没有被赋值。
需要两个条件一起判断 if "AccountName" in line and "7656" in line:
另外 dict1 = {} 要放在循环外面

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

def main(file):
    dict1 = {} #要放在循环外面
    with open(file, "r", encoding="utf-8") as f:
        lines = f.readlines()
        for line in lines:
            line = line.strip()
            if "AccountName" in line and "7656" in line:
                valueo = line.split('\"')[3]
                keyo = line.split('\"')[1]
                dict1[keyo] = valueo
    print(dict1)

main("loginusers.vdf")


def main(file):
    with open(file, "r", encoding="utf-8") as f:
        lines = f.readlines()
        dict1 = {}
        for line in lines:
            line = line.strip()
            if "AccountName" in line:
                valueo = line.split('\"')[3]
                if "7656" in line:
                    keyo = line.split('\"')[1]
                    dict1[keyo] = valueo
main("loginusers.vdf")