源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Python遍历目录的4种方法实例介绍

  • 时间:2020-05-31 13:21 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Python遍历目录的4种方法实例介绍
[b]1.os.popen运行shell列表命令 [/b]
[u]复制代码[/u] 代码如下:
def traverseDirByShell(path):     for f in os.popen('ls ' + path):         print f.strip()
[b]2.利用glob模块[/b] glob.glob(path)返回带目录的文件名.通配符和shell相似.path不能包含shell变量.
[u]复制代码[/u] 代码如下:
def traverseDirByGlob(path):     path = os.path.expanduser(path)     for f in glob(path + '/*'):         print f.strip()
[b]3.利用os.listdir(推荐)[/b] 该方法返回不带根目录的文件名或子目录名
[u]复制代码[/u] 代码如下:
def traverseDirByListdir(path):     path = os.path.expanduser(path)     for f in os.listdir(path):         print f.strip()
[b]4.利用os.walk(推荐)[/b] 返回一个包含3个项目的元组:当前目录名称,子目录名称,子文件名称
[u]复制代码[/u] 代码如下:
def traverseDirByOSWalk(path):     path = os.path.expanduser(path)     for (dirname, subdir, subfile) in os.walk(path):         #print('dirname is %s, subdir is %s, subfile is %s' % (dirname, subdir, subfile))         print('[' + dirname + ']')         for f in subfile:             print(os.path.join(dirname, f))
整合代码:
[u]复制代码[/u] 代码如下:
#!/usr/bin/python import os from glob import glob def printSeparator(func):     def deco(path):         print("call method %s, result is:" % func.__name__)         print("-" * 40)         func(path)         print("=" * 40)     return deco @printSeparator def traverseDirByShell(path):     for f in os.popen('ls ' + path):         print f.strip() @printSeparator def traverseDirByGlob(path):     path = os.path.expanduser(path)     for f in glob(path + '/*'):         print f.strip() @printSeparator def traverseDirByListdir(path):     path = os.path.expanduser(path)     for f in os.listdir(path):         print f.strip() @printSeparator def traverseDirByOSWalk(path):     path = os.path.expanduser(path)     for (dirname, subdir, subfile) in os.walk(path):         #print('dirname is %s, subdir is %s, subfile is %s' % (dirname, subdir, subfile))         print('[' + dirname + ']')         for f in subfile:             print(os.path.join(dirname, f)) if __name__ == '__main__':     path = r'~/src/py'     traverseDirByGlob(path)     traverseDirByGlob(path)     traverseDirByListdir(path)     traverseDirByOSWalk(path)
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部