SoFunction
Updated on 2024-11-14

Python traversing folders Handling json files

There are two approaches: (), pathlib library, I personally feel that the pathlib library is used to match the file is relatively simple.

Here is an example of the second approach (there are many articles on Baidu for the first approach):

from pathlib import Path
import json

analysis_root_dir = "D:\\analysis_data\json_file"
store_result="D:\\analysis_data\\analysis_result\\"

def parse_dir(root_dir):
  path = Path(root_dir)

  all_json_file = list(('**/*.json'))

  parse_result = []

  for json_file in all_json_file:

    # Get the name of the directory you are in
    service_name = json_file.
    with json_file.open() as f:
      json_result = (f)
    json_result["service_name"] = service_name
    parse_result.append(json_result)

  return parse_result

def write_result_in_file(write_path , write_content):

  with open(write_path,'w') as f:
    ("service_name,action,method,url\n")
    for dict_content in write_content:
       url = dict_content['url']
       method = dict_content['method']
       action = dict_content['action']
       service_name = dict_content['service_name']
       (service_name + ","+ action+","+method + ","+ url+"\n")

def main():
  print("main begin...")
  parse_result = parse_dir(analysis_root_dir)
  print(parse_result)
  write_result_in_file(store_result,parse_result)
  print("main finished...")

if __name__ == '__main__':
  main()

running result

main begin...
[{'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'}]
main finished...

directory structure

json file content

{
 "url":"/rest/webservice/v1/dosomthing",
 "method":"post",
 "action":"create"
}

Above this Python traversing folders Handling json files is all I have to share with you, I hope to give you a reference, and I hope you support me more.