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单例模式实例详解
Mar 01 Python
Python使用matplotlib绘制余弦的散点图示例
Mar 14 Python
Python排序算法之选择排序定义与用法示例
Apr 29 Python
django 实现电子支付功能的示例代码
Jul 25 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
python交易记录链的实现过程详解
Jul 03 Python
pytorch 实现查看网络中的参数
Jan 06 Python
pycharm激活码有效到2020年11月底
Sep 18 Python
Python tkinter实现简单加法计算器代码实例
May 13 Python
python代码能做成软件吗
Jul 24 Python
基于python实现简单网页服务器代码实例
Sep 14 Python
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
May 24 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日历[测试通过]
2008/03/27 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
python 自定义对象的打印方法
2019/01/12 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
财务人员求职自荐书范文
2014/02/10 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
七年级话题作文之执着
2019/11/19 职场文书
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS