1、从输入的字典中获取给定key的值,
实现函数:get_key_value(source_dict, key, index=0),source_dict指给定的字典,key指需要获取的key字段,index指的是需要获取相同key的第几个值,从0开始,默认是0
"""
File: 01dict取值.py
Author: chde_wang
Date: 2020-07-29 22:48:33
Description:从输入的字典中获取给定key的值,
实现函数:get_key_value(source_dict, key, index=0),
source_dict指给定的字典,k
ey指需要获取的key字段,
index指的是需要获取相同key的第几个值,从0开始,默认是0。
e.g: get_key_value(a, ‘id’, 2),返回值应该是:7554611
"""
a = {
"code":200,
"msg":"success",
"data":{
"list":{
"pay_column":[],
"column":[
{
"id":6443650,
"app_id":1561979372,
"username":"qfhyadx",
"alias":"",
"title":"\u5de5\u5177",
"desc":"",
"img_url":"https:\/\/img-blog.csdnimg.cn\/20190927151132530.png",
"channel_id":0,
"sum":16,
"sort":6443650,
"is_show":1,
"status":1,
"is_free":0,
"is_delete":2,
"status_count":"{\"1\":16}",
"created_at":"2019-08-26T04:19:51Z",
"updated_at":"2019-11-22T07:53:45Z",
"second":False,
"edit_title":"\u5de5\u5177",
"column_subscribe_count":0,
"column_url":"https:\/\/blog.csdn.net\/qfhyadx\/category_6443650.html",
"is_audit_pending":False
},
{
"id":6459549,
"app_id":1561979372,
"username":"qfhyadx",
"alias":"",
"title":"\u968f\u7b14",
"desc":"",
"img_url":"https:\/\/img-blog.csdnimg.cn\/20190927151043371.png",
"channel_id":0,
"sum":4,
"sort":6459549,
"is_show":1,
"status":1,
"is_free":0,
"is_delete":2,
"status_count":"{\"1\":4}",
"created_at":"2019-08-26T04:19:51Z",
"updated_at":"2020-07-19T21:49:55Z",
"second":False,
"edit_title":"\u968f\u7b14",
"column_subscribe_count":0,
"column_url":"https:\/\/blog.csdn.net\/qfhyadx\/category_6459549.html",
"is_audit_pending":False
},
{
"id":7554611,
"app_id":1561979372,
"username":"qfhyadx",
"alias":"",
"title":"python3",
"desc":"",
"img_url":"https:\/\/img-blog.csdnimg.cn\/20190927151101105.png",
"channel_id":0,
"sum":2,
"sort":7554611,
"is_show":1,
"status":1,
"is_free":0,
"is_delete":2,
"status_count":"{\"1\":2}",
"created_at":"2019-08-26T04:20:06Z",
"updated_at":"2020-07-13T19:41:03Z",
"second":False,
"edit_title":"python3",
"column_subscribe_count":0,
"column_url":"https:\/\/blog.csdn.net\/qfhyadx\/category_7554611.html",
"is_audit_pending":False
}]
},
"total":3,
"un_pass_total":0,
"recycle_total":0
}
}
# 递归调用
def read_dict(input_dict, input_key, result_list):
if input_dict:
if isinstance(input_dict, dict):
for key1, value1 in input_dict.items():
if not isinstance(value1, (dict, list)):
# 删减为空的时候
if value1:
if key1 == input_key:
result_list.append(value1)
else:
read_dict(input_dict[key1], input_key, result_list)
elif isinstance(input_dict, list):
if input_dict:
for i in range(len(input_dict)):
if isinstance(input_dict[i], dict):
for key2, value2 in input_dict[i].items():
if not isinstance(value2, (dict, list)):
# 删减为空的时候
if value2:
if key2 == input_key:
result_list.append(value2)
else:
read_dict(input_dict[key2], input_key, result_list)
else:
print("您的输入不合法!")
def get_key_value(source_dict, key, index=0):
out_list = []
read_dict(source_dict, key, out_list)
if out_list and index >= 0:
return out_list[index]
else:
return out_list
input_dict_value = "qw"
input_key_value = 'id'
num_value = 2
result = get_key_value(input_dict_value, input_key_value, num_value)
if result:
print(result)
2 从文件中获取指定字符所在行数据。实现函数:check_string(file_path, key_word),file_path代表文件所在路径,key_word代码搜索的关键字,返回符合条件的列表
"""
File: 03file取list.py
Author: chde_wang
Date: 2020-08-01 14:39:59
Description:从文件中获取指定字符所在行数据。
"""
def check_string(file_path, key_word):
"""
:param file_path: 代表文件所在路径
:param key_word: 代码搜索的关键字
:return: 返回符合条件的列表
"""
result_list = []
try:
with open(file_path, 'r') as f:
for line in f.readlines():
line = line.strip('\n')
if line.find(key_word) != -1:
result_list.append(line)
except FileNotFoundError:
print("文件不存在或者文件打开错误!")
return result_list
find_s = "complate"
result_lst = []
result_lst = check_string("test.txt", find_s)
if not result_lst:
print("您查找结果为空")
else:
print("您查找结果为:", result_lst)