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 相关文章推荐
zbar解码二维码和条形码示例
Feb 07 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
Python字符串格式化输出方法分析
Apr 13 Python
解决Linux系统中python matplotlib画图的中文显示问题
Jun 15 Python
1分钟快速生成用于网页内容提取的xslt
Feb 23 Python
python Celery定时任务的示例
Mar 13 Python
python opencv旋转图像(保持图像不被裁减)
Jul 26 Python
python 用opencv调用训练好的模型进行识别的方法
Dec 07 Python
python画图系列之个性化显示x轴区段文字的实例
Dec 13 Python
python爬虫神器Pyppeteer入门及使用
Jul 13 Python
python 普通克里金(Kriging)法的实现
Dec 19 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
Jun 15 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定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
JS得到当前时间的方法示例
2017/03/24 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
dts文件中删除一个node或属性的操作方法
2018/08/05 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
利用Python实现图书超期提醒
2016/08/02 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
python如何变换环境
2020/07/21 Python
德国最大的服装、鞋子和配件在线商店之一:Outfits24
2019/07/23 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
市三好学生主要事迹
2014/01/28 职场文书
愚人节活动策划方案
2014/03/11 职场文书
3分钟演讲稿
2014/04/30 职场文书
建设工程授权委托书
2014/09/22 职场文书
付款委托书范本
2014/10/05 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
青年教师个人总结
2015/02/11 职场文书
思品教学工作总结
2015/08/10 职场文书