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 相关文章推荐
记录Django开发心得
Jul 16 Python
python中pycurl库的用法实例
Sep 30 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
Apr 01 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
python 识别图片中的文字信息方法
May 10 Python
python爬取网页内容转换为PDF文件
Jul 28 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
Aug 16 Python
python 字符串只保留汉字的方法
Nov 16 Python
Python 脚本获取ES 存储容量的实例
Dec 27 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
anaconda中更改python版本的方法步骤
Jul 14 Python
python在CMD界面读取excel所有数据的示例
Sep 28 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
PHP新手上路(四)
2006/10/09 PHP
用PHP的ob_start();控制您的浏览器cache!
2006/11/25 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
测试php函数的方法
2013/11/13 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
js中function()使用方法
2013/12/24 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
2018/06/30 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python结合API实现即时天气信息
2016/01/19 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
python八大排序算法速度实例对比
2017/12/06 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
科级干部考察材料
2014/02/15 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
2014年施工员工作总结
2014/11/18 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
音乐会主持人开场白
2015/05/28 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
什么是css原子化,有什么用?
2022/04/24 HTML / CSS
MySql数据库触发器使用教程
2022/06/01 MySQL