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文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。