从用户输入

时间:2015-11-04 17:44:30

标签: python file text

所以我有一个文本文件,我用一个人名后跟一个逗号,然后是一个他们可以居住的地方。是的,我知道它是随机的,但我需要一种方法来理解这一点:)

所以这里是文本文件(名为“namesAndPlaces.txt”):

鲍勃,曼谷
艾莉,伦敦
安东尼,北京
迈克尔,波士顿
弗雷德,德州
艾莉莎,加利福尼亚

所以我希望用户能够在程序中输入名称,然后程序查看文本文件以查看它们的位置,然后将其打印给用户。

我该怎么做? 谢谢 迈克尔

2 个答案:

答案 0 :(得分:1)

我会这样做:

text_file = open('pathtoFile', 'r').read()
text = text_file.split()

#turn the text into a dictionary
names_dic = []
for x in text:
    x = x.split(',')
    names_dic.append(x)

names_dic = dict(names_dic)

print names_dic  #for testing

# asking a user to enter a name
name = "not_in_dic"
while name not in names_dic:
    name = raw_input("Enter the name? ")
    print name, "lives in ", names_dic[name]

答案 1 :(得分:0)

更多的pythonic方式做同样的事情Aneta建议

with open(filename, 'r') as source:
    text = source.read()
    place_to_names = dict([line.split(r',') for line in text.split()])

while True:
    name = raw_input('Enter a name:')
    print("%s lives in %s" % (name, places_to_names[name]))