python生成多级文件夹_利用 python 遍历多级文件夹处理不同文件

需求:近期,同事在处理文件的时候,常常需要从一堆文件中提取一些数据信息;

分析:由于每个文件夹下面的文件或文件夹多如牛毛,文件类型也很多种,需要针对不同文件类型做处理,人工处理是不现实的,只能用脚本处理了。

分析代码:

这里定义了一个类 ErgodicFolder,里面有两个方法 process_file 和 ergodic_path_list;

process_file:对不同文件类型进行处理;

ergodic_path_list:实现文件夹的遍历,先是逐个遍历目标文件夹,如果是文件则调用process_file 方法处理,如果是文件夹则调用函数自身继续遍历该文件夹。

# -*- coding:utf8 -*-

import os

# 定义一个遍历文件的方法

class ErgodicFolder:

def __init__(self):

pass

# 处理文件方法:针对不同文件类型做处理

def process_file(self, file):

FileType = file.split('.')[-1]

if FileType.lower() == 'xlsx': # 处理xlsx文件

print(os.getcwd()+os.sep+file)

if FileType.lower() == 'txt': # 处理txt文件

pass

if FileType.lower() == 'xlsx': # 处理pdf文件

pass

def ergodic_path_list(self, path):

os.chdir(path) # 进入到目标路径,类似命令行中的cd命令

file_lists = os.listdir() # 获取当前目录中所有文件夹和文件列表

for file in file_lists: # 遍历当前路径中的所有文件

if os.path.isfile(file): # 处理文件

self.process_file(file)

if os.path.isdir(file): # 如果是文件夹,则调用函数自身再次遍历该文件夹

self.ergodic_path_list(file)

# 当前文件夹遍历结束,返回上级目录继续遍历

os.chdir('..')

if __name__ == '__main__':

path = r'数据源'

E = ErgodicFolder()

E.ergodic_path_list(path)

本作品采用《CC 协议》,转载必须注明作者和本文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值