python 分类_python怎么样把一级分类下面的多级分类都给遍历出来

废话不多说。首先要实现这个,具体思路是:

1.给定父文件夹路径,找出该文件夹中所有的内容(文件夹或文件)。

2.筛选出内容中的文件夹。

总的来说,实现还是挺简单的,python的os包也提供了许多方法。具体看代码

[python] view plain copy

# -*- coding: UTF-8 -*-

import os.path

#定义一个函数,path为你的路径

def traversalDir_FirstDir(path):

#定义一个列表,用来存储结果

list = []

#判断路径是否存在

if (os.path.exists(path)):

#获取该目录下的所有文件或文件夹目录

files = os.listdir(path)

for file in files:

#得到该文件下所有目录的路径

m = os.path.join(path,file)

#判断该路径下是否是文件夹

if (os.path.isdir(m)):

h = os.path.split(m)

print h[1]

list.append(h[1])

print list

traversalDir_FirstDir("E:\\xlrd-1.0.0")

输出结果为:

[plain] view plain copy

build

dist

scripts

tests

xlrd

xlrd.egg-info

['build', 'dist', 'scripts', 'tests', 'xlrd', 'xlrd.egg-info']

Python有一个方法是os.path.isdir(pyth),即判断该路径下的文件下是否是文件夹,其传入的参数的参数是路径,我在想,Python要是提供一个方法,返回该文件下的所有文件路径就好,但貌似我没有找到。所以用了os.listdir(pyth),得到了路径下的所有内容名,然后又用了join()方法把其转化成路径~,额,有些麻烦了。其中split()会把路径截成一个二元组(路径,文件名)

其实有个方法,os.walk()方法可以得到该文件夹下所有文件夹和文件,但我只要求得到子一级文件夹哈。具体可参考旁边链接:点击打开链接。

下面再附上Python的 os的一些属性方法:os模块方法

因之前我学过一些Java,所以感觉Python语法跟Java差不多,不过比Java更加简练

额,发现一个函数,glob()方法可以直接得到一个文件夹下所有的路径。上面的代码可以改进如下:

[python] view plain copy

# -*- coding: UTF-8 -*-

import glob

import os.path

def traversalDir_FirstDir(path):

list = []

if (os.path.exists(path)):

#获取该目录下的所有文件或文件夹目录路径

files = glob.glob(path + '\\*' )

print files

for file in files:

#判断该路径下是否是文件夹

if (os.path.isdir(file)):

#分成路径和文件的二元元组

h = os.path.split(file)

print h[1]

list.append(h[1])

print list

traversalDir_FirstDir("E:\\xlrd-1.0.0")

取消

评论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值