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


Posted in Python onJanuary 22, 2019

有两种做法: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"
}

以上这篇Python遍历文件夹 处理json文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python共享引用(多个变量引用)示例代码
Dec 04 Python
python连接mongodb操作数据示例(mongodb数据库配置类)
Dec 31 Python
学习Python3 Dlib19.7进行人脸面部识别
Jan 24 Python
PyQt5实现下载进度条效果
Apr 19 Python
python迭代dict的key和value的方法
Jul 06 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
python3.6使用SMTP协议发送邮件
May 20 Python
python中selenium库的基本使用详解
Jul 31 Python
Python中22个万用公式的小结
Jul 21 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
Apr 13 Python
Python多线程原理与用法实例剖析
Jan 22 #Python
python解析含有重复key的json方法
Jan 22 #Python
Python设计模式之简单工厂模式实例详解
Jan 22 #Python
对python字典过滤条件的实例详解
Jan 22 #Python
python实现淘宝秒杀脚本
Jun 23 #Python
python实现网页自动签到功能
Jan 21 #Python
python实现桌面壁纸切换功能
Jan 21 #Python
You might like
收音机术语解释
2021/03/01 无线电
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
轮播图组件js代码
2016/08/08 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
python计算最大优先级队列实例
2013/12/18 Python
python实现文件名批量替换和内容替换
2014/03/20 Python
Python实现Const详解
2015/01/27 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
python matplotlib画图实例代码分享
2017/12/27 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
python爬虫基础之urllib的使用
2020/12/31 Python
如何开启linux的ssh服务
2013/06/03 面试题
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
学校运动会广播稿
2014/10/11 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
入党政审材料范文
2014/12/24 职场文书
js 数组 fill() 填充方法
2021/11/02 Javascript