python怎样把一级分类下面的多级分类都给遍历出来
答案:1 悬赏:20 手机版
解决时间 2021-02-21 17:36
- 提问者网友:愿为果
- 2021-02-20 18:50
python怎样把一级分类下面的多级分类都给遍历出来
最佳答案
- 五星知识达人网友:鸠书
- 2021-02-20 20:02
废话不多说。首先要实现这个,具体思路是:
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)):
#获取该目录下e79fa5e98193e4b893e5b19e31333363383365的所有文件或文件夹目录
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")
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)):
#获取该目录下e79fa5e98193e4b893e5b19e31333363383365的所有文件或文件夹目录
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")
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯