Python遍历文件夹 处理json文件的方法

作者:Norton-Linux内核研究 时间:2022-02-19 16:08:40 

有两种做法:os.walk()、pathlib库,个人感觉pathlib库的path.glob用来匹配文件比较简单。

下面是第二种做法的实例(第一种做法百度有很多文章):


from pathlib import Path
import json

analysis_root_dir = "D:\\analysis_data\json_file"
store_result="D:\\analysis_data\\analysis_result\\dependency.csv"

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

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

parse_result = []

for json_file in all_json_file:

# 获取所在目录的名称
   service_name = json_file.parent.stem
   with json_file.open() as f:
     json_result = json.load(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:
   f.writelines("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']
      f.writelines(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()

运行结果


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...

目录结构

json file内容


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

来源:https://blog.csdn.net/xzongyuan/article/details/77121392

标签:Python,遍历,文件夹,json
0
投稿

猜你喜欢

  • 让你的主页声色并茂—巧为网页添加背景音乐

    2010-09-02 12:35:00
  • MySQL安全性指南 (1)(转)

    2010-07-27 12:49:00
  • XML编程实例:用ASP+XML打造留言本

    2008-05-04 13:37:00
  • JavaScript 放大镜 移动镜片效果代码

    2023-08-13 08:24:08
  • Python爬虫包BeautifulSoup异常处理(二)

    2021-12-09 21:53:42
  • python基础教程之Hello World!

    2021-03-05 22:45:06
  • Django 实现图片上传和下载功能

    2023-01-14 09:53:21
  • python实现批量解析邮件并下载附件

    2023-07-05 02:32:16
  • 利用Python实现某OA系统的自动定位功能

    2021-05-26 02:27:46
  • 用Python实现给Word文档盖章

    2021-07-08 21:18:00
  • mysql 动态执行存储过程语句

    2024-01-27 01:54:38
  • SQL临时表递归查询子信息并返回记录的代码

    2012-08-21 11:06:19
  • Python中面向对象你应该知道的一下知识

    2022-01-31 11:35:47
  • UTF-8 GBK UTF8 GB2312 之间的区别和关系介绍

    2022-06-12 12:15:46
  • PHP使用GIFEncoder类生成gif动态滚动字幕

    2024-05-08 09:34:46
  • 弹出最简单的模式化遮罩层的js代码

    2024-06-18 16:48:53
  • SQL-ORDER BY 多字段排序(升序、降序)

    2024-01-28 05:25:55
  • 原生js拖拽实现图形伸缩效果

    2024-04-16 08:55:27
  • 在Python开发环境中调用ChatGPT模型详细过程

    2022-03-25 21:59:29
  • SQL中DATEADD和DATEDIFF的用法示例介绍

    2024-01-27 16:57:58
  • asp之家 网络编程 m.aspxhome.com