有两行这样的数据,存在一个test_data.txt里面
url:http://XXX.XXX.XXX.XXX:8080/futureloan/mvc/api/member/login,mobilephone:13760246701,pwd:123456
url:http://XXX.XXX.XXX.XXX:8080/futureloan/mvc/api/member/login,mobilephone:15678934551,pwd:234555
要求如下:
1:将每一行的数据存到一个字典里面,且url、mobilephone、pwd为key,对应key后面的值为value。然后讲读取的每行数据存储为字典后存到一个总的列表里面。返回总列表
2:写成函数通过调用函数最后得到的数据为:
[{'url': 'http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/login', 'mobilephone': '13760246701', 'pwd': '123456'}, {'url': 'http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/login', 'mobilephone': '15678934551', 'pwd': '234555'}]
def trans_dict(file):
files = open(file)
files_content = files.readlines() #读取数据,返回一个list,每一行 为一个字符串
result_list = [] #创建一个空列表
for data_lines in files_content: #遍历列表,取出每一行字符串
result_dict = {} # 创建一个空字典
# 去掉头尾换行符,再以逗号切割字符串,返回列表,遍历切割后的列表
for data_str in data_lines.strip('\n').split(','):
#取出'X:X'形式的字符串,按冒号切割为列表,
#再取第一个值做为key,第二个做为value,赋值给空字典
result_dict[data_str.split(':',1)[0]] = data_str.split(':',1)[1]
#内层循环结束,将生成的字典赋值给空列表
result_list.append(result_dict)
print(result_list)
files.close()
trans_dict('test_data.txt')