Python开发:os.walker或glob列出指定目录文件或文件夹及子目录

2019-02-1608:25:05后端程序开发Comments4,968 views字数 770阅读模式

Python中,可以使用os.walkerglob创建一个类似于find()的函数来搜索或列出指定目录中的文件或文件夹以及它的子目录。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9602.html

1. os.walker

1.1. 列出指定目录+子目录中的所有.txt文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9602.html

import os

path = '/home/maxsu/hc2'

files = []
# r=root d=directories f = files
for r d f in os.walk(path):
    for file in f:
        if '.txt' in file:
            files.append(os.path.join(r file))

for f in files:
    print(f)

1.2. 列出指定目录+子目录中的所有目录。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9602.html

import os

path = '/home/maxsu/projects/hc2/'

folders = []

# r=root d=directories f = files
for r d f in os.walk(path):
    for folder in d:
        folders.append(os.path.join(r folder))

for f in folders:
    print(f)
Python

3. glob

在Python 3.5版中更改:使用**支持递归globs文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9602.html

2.1. 列出指定目录中的所有.txt文件+子目录(**)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9602.html

import glob

path = '/home/maxsu/projects/hc2/'

files = [f for f in glob.glob(path + "**/*.txt" recursive=True)]

for f in files:
    print(f)
Python

2.2. 列出指定目录中的所有目录+子目录(**)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9602.html

import glob

folders = [f for f in glob.glob(path + "**/" recursive=True)]

for f in folders:
    print(f)
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9602.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/9602.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定