所以文件文本,我应该转移到电话簿的字典,看起来像这样:
Name1 Name2 Numbers
Name3 Name4 Numbers2
依旧......
我尝试了什么:
def read():
file1=open("file.txt","r")
dict={}
for line in file1:
line=line.split()
if not line:continue
dict[line[0]]=line[1:]
print(dict)
当我运行它时,它什么都不打印。
谢谢!
答案 0 :(得分:1)
这是我的方式
def read_dict():
file1 = open("file.txt", 'r')
dict={}
# read lines of all
lines = file1.readlines()
# Process one line at a time.
for line in lines:
line = line.split()
if not line: continue
dict[line[0]] = line[1:]
file1.close()
print(dict)
read_dict()
或 (用于) 你不必关闭文件
def read_dict():
with open("file.txt", 'r') as file1:
dict={}
# read lines of all
lines = file1.readlines()
# Process one line at a time.
for line in lines:
line = line.split()
if not line: continue
dict[line[0]] = line[1:]
print(dict)
答案 1 :(得分:0)
这里有许多评论。
1 - 打开文件时忘记添加“.read()”。
2 - 你使用python语言的保留字。 “dict”是语言使用的东西,因此请避免直接使用它。而是更具体地命名它们。 不惜一切代价避免使用Python语言已经使用的单词命名变量。
3 - 您的功能不会返回任何内容。在每个函数的末尾,您需要指定“return”以及希望函数返回值的对象。
def read_dict():
file1 = open("file.txt","r").read()
my_dict = {}
for line in file1:
line = line.split()
if not line:
continue
my_dict[line[0]] = line[1:]
return my_dict
print(read_dict())
答案 2 :(得分:0)
确保调用该功能。我已经改变了一点,所以它没有使用像'read'或'dict'这样的词。这有效:
def main():
thefile = open("file.txt","r")
thedict={}
for theline in thefile:
thelist = theline.split(" ")
if not thelist:
continue
thedict[thelist[0]]=thelist[1:]
print(thedict)
main()
结果:
{'Name1': ['Name2', 'Numbers\n'], 'Name3': ['Name4', 'Numbers2']}
答案 3 :(得分:0)
您已将实现包含在函数read()中。你需要在某个地方调用这个函数。
def read():
file1=open("file.txt","r")
dict={}
for line in file1:
line=line.split()
if not line:continue
dict[line[0]]=line[1:]
print(dict)
read()
试试这个。