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类型强制转换long to int的代码
Feb 10 Python
使用python装饰器验证配置文件示例
Feb 24 Python
用Python脚本来删除指定容量以上的文件的教程
May 04 Python
python 使用get_argument获取url query参数
Apr 28 Python
Python实现的爬虫功能代码
Jun 24 Python
python读取文本绘制动态速度曲线
Jun 21 Python
Python3匿名函数用法示例
Jul 25 Python
python3 读取Excel表格中的数据
Oct 16 Python
pycharm无法导入本地模块的解决方式
Feb 12 Python
python之生成多层json结构的实现
Feb 27 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
PyTorch的Debug指南
May 07 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
DC动漫人物排行
2020/03/03 欧美动漫
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
php Try Catch异常测试
2009/03/01 PHP
PHP文件锁定写入实例解析
2014/07/14 PHP
PHP常用数组函数介绍
2014/07/28 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
对angular4子路由&辅助路由详解
2018/10/09 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
JS数组方法reverse()用法实例分析
2020/01/18 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
JavaScript如何操作css
2020/10/24 Javascript
js实现随机点名功能
2020/12/23 Javascript
[02:53]2018年度DOTA2最佳战队-完美盛典
2018/12/17 DOTA
python通过smpt发送邮件的方法
2015/04/30 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
印尼购物网站:iLOTTE
2019/10/16 全球购物
服装销售人员求职自我评价
2013/09/26 职场文书
元宵节寄语大全
2015/02/27 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
致运动员加油稿
2015/07/21 职场文书