file.txt的
Harry Moon, Meteor \n roger gim, astronaut \n john banks, westpac \n john banks, ASB
代码:
FILE=file.txt
filename=open(FILE,"rt")
fileread=filename.readlines()
fileread.sort()
for i in fileread:
dict={}
dict[i.split(',')[0]]=i.split(',')[1]
print dict
有了这个,我就能得到以下结果:
{'Harry Moon': ' Meteor\n'}
{'john banks': ' ASB'}
{'john banks': ' westpac\n'}
{'roger gim': ' astronaut\n'}
然而,我想要的是:
{ 'Harry Moon': ' Meteor'
, 'john banks': ' ASB'
, 'john banks': ' westpac'
, 'roger gim': 'astronaut' }
答案 0 :(得分:1)
dict([line.strip().split(',') for line in open(FILE).readlines()])
答案 1 :(得分:1)
不要使用“dict”作为变量名,打开文件时也要使用with
:
with open('file.txt') as f:
result = dict(line.strip().split(',') for line in f)
答案 2 :(得分:0)
试试这个......
file_str = open(FILE).read()
d = {}
for line in file_str.splitlines():
d[line.split(',')[0]] = line.split(',')[1]
print d
对于非常简洁的代码,还有John Smith Optionals的回答。