Python从文本文件中查找字段

Python从文本文件中查找字段,python,python-2.7,replace,Python,Python 2.7,Replace,非常简单的python 2.7查找/替换文本问题-我有文本文件,每行都有一个长行(没有换行符),在每一长行中都有逗号分隔的部分(尽管有些部分不是这种格式): “国家”:“美国”、“城市”:“芝加哥”、“电话”:“123-456-7890”、“联系人”:“约翰·多伊” 我想浏览文本文件,每当为我要查找的两个字段中的一个找到:'字符时,打印出字段和相应的值(总是用引号括起来)在它们之间有一个分隔符…假设我只查找'Country'和'City'字段-我想在引号中找到其中一个字段名,并打印出相应的值,如

非常简单的python 2.7查找/替换文本问题-我有文本文件,每行都有一个长行(没有换行符),在每一长行中都有逗号分隔的部分(尽管有些部分不是这种格式):

“国家”:“美国”、“城市”:“芝加哥”、“电话”:“123-456-7890”、“联系人”:“约翰·多伊”

我想浏览文本文件,每当为我要查找的两个字段中的一个找到
:'
字符时,打印出字段和相应的值(总是用引号括起来)在它们之间有一个分隔符…假设我只查找
'Country'
'City'
字段-我想在引号中找到其中一个字段名,并打印出相应的值,如下所示:

国家|美国
City|芝加哥


忽略所有其他
:'
成对值。

请发布代码以解决此问题。提示:在发布之前,您应该发布一些尝试此操作的代码,因为此网站主要用于调试,而不是为其他网站编写代码。这看起来像是针对此问题的“索引器:列表索引超出范围”错误的作业
with open('file.txt', 'rb') as f:
    data = {x.split(':')[0].replace('"', '').lower().strip(): x.split(':')[1].replace('"', '').strip() for x in f.read().split(',')}

user_in = raw_input('Search: ')
print '{0}|{1}'.format(user_in, data.get(user_in.lower(), 'Not Found'))
st = '"Country":"USA","City":"Chicago","Phone":"123-456-7890","Contact":"John Doe"'

def get_value(string_,key_):
    d = {}
    st2 = string_.split(",")

    for el in st2:
        k,v = el.split(":")
        k = k[1:-1]
        d[k] = v

    return d[key_][1:-1]


print(get_value(st, "Country") )
# USA

keywords  = ["Country","City", "Phone", "Contact"]

for w in keywords:
    print(get_value(st, w))

USA
Chicago
123-456-7890
John Doe