Python遍历文件夹 处理json文件的方法
有两种做法:os.walk()、pathlib库,个人感觉pathlib库的path.glob用来匹配文件比较简单。
下面是第二种做法的实例(第一种做法百度有很多文章):
frompathlibimportPath
importjson
analysis_root_dir="D:\\analysis_data\json_file"
store_result="D:\\analysis_data\\analysis_result\\dependency.csv"
defparse_dir(root_dir):
path=Path(root_dir)
all_json_file=list(path.glob('**/*.json'))
parse_result=[]
forjson_fileinall_json_file:
#获取所在目录的名称
service_name=json_file.parent.stem
withjson_file.open()asf:
json_result=json.load(f)
json_result["service_name"]=service_name
parse_result.append(json_result)
returnparse_result
defwrite_result_in_file(write_path,write_content):
withopen(write_path,'w')asf:
f.writelines("service_name,action,method,url\n")
fordict_contentinwrite_content:
url=dict_content['url']
method=dict_content['method']
action=dict_content['action']
service_name=dict_content['service_name']
f.writelines(service_name+","+action+","+method+","+url+"\n")
defmain():
print("mainbegin...")
parse_result=parse_dir(analysis_root_dir)
print(parse_result)
write_result_in_file(store_result,parse_result)
print("mainfinished...")
if__name__=='__main__':
main()
运行结果
mainbegin...
[{'url':'/rest/webservice/v1/dosomthing','method':'post','action':'create','service_name':'WebSubService'},{'url':'/rest/webservice/v1/dosomthing','method':'post','action':'create','service_name':'WebSubService01'},{'url':'/rest/webservice/v1/dosomthing','method':'post','action':'create','service_name':'WebSubService02'},{'url':'/rest/webservice/v1/dosomthing','method':'post','action':'create','service_name':'WebSubService03'},{'url':'/rest/webservice/v1/dosomthing','method':'post','action':'create','service_name':'WebSubService04'},{'url':'/rest/webservice/v1/dosomthing','method':'post','action':'create','service_name':'WebSubService05'}]
mainfinished...
目录结构
jsonfile内容
{
"url":"/rest/webservice/v1/dosomthing",
"method":"post",
"action":"create"
}
以上这篇Python遍历文件夹处理json文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
