Python“;不一致使用“;

Python“;不一致使用“;,python,sorting,Python,Sorting,文件中的示例: Employer: { name:"Jack M", age:"213", phone:"11221" } Guest: { name:"Alex K", age:"203", phone:"11111" } 从该文件中,我需要导出所有来宾姓名。尝试: file = "data.txt" nameslist=[] with open(file, "r") as f: i = f.read() check = i.find('Guest: {') while ch

文件中的示例:

Employer: {
name:"Jack M", age:"213", phone:"11221"
}

Guest: {
name:"Alex K", age:"203", phone:"11111"
}

从该文件中,我需要导出所有来宾姓名。尝试:

file = "data.txt"
nameslist=[]

with open(file, "r") as f:
    i = f.read()

check = i.find('Guest: {')
while check != -1:
    i = i.replace('Guest: {', '\n') 
    i = i.split('\n')
    i = i[1]
    i = i.replace('name:"', '\n') 
    i = i.split('\n')
    i = i.replace('",' '\n')
    i = i.split('\n')
    global nameslist
    nameslist.append(i[0])
    i = i[1]
    check = i.find('Guest: {')

print(nameslist)
总是会出现这样的错误:


  File "asd.py", line 11
    i = i.split('\n')
                    ^
TabError: inconsistent use of tabs and spaces in indentation

我做错了什么?

使用python3,您只能在行首使用制表符或空格来标记缩进。使用您选择的编辑器搜索/突出显示“选项卡”或“”。那么,最好将选项卡替换为四个空格(使用编辑器的替换工具)

我做错了什么


不读取错误消息?很明显:缩进时(代码前的前导空格),有时使用空格,有时使用制表符。必须使用其中一个(Python中通常建议使用空格)。并且应该配置你的文本编辑器,以便它总是使用正确的文本编辑器。如果代码不是函数的一部分?这是否回答了您的问题?