手机
当前位置:查字典教程网 >脚本专栏 >python >Python遍历目录的4种方法实例介绍
Python遍历目录的4种方法实例介绍
摘要:1.os.popen运行shell列表命令复制代码代码如下:deftraverseDirByShell(path):forfinos.pop...

1.os.popen运行shell列表命令

复制代码 代码如下:

def traverseDirByShell(path):

for f in os.popen('ls ' + path):

print f.strip()

2.利用glob模块

glob.glob(path)返回带目录的文件名.通配符和shell相似.path不能包含shell变量.

复制代码 代码如下:

def traverseDirByGlob(path):

path = os.path.expanduser(path)

for f in glob(path + '/*'):

print f.strip()

3.利用os.listdir(推荐)

该方法返回不带根目录的文件名或子目录名

复制代码 代码如下:

def traverseDirByListdir(path):

path = os.path.expanduser(path)

for f in os.listdir(path):

print f.strip()

4.利用os.walk(推荐)

返回一个包含3个项目的元组:当前目录名称,子目录名称,子文件名称

复制代码 代码如下:

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))

整合代码:

复制代码 代码如下:

#!/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)

【Python遍历目录的4种方法实例介绍】相关文章:

Python写的一个简单DNS服务器实例

Python 条件判断的缩写方法

Python时间戳与时间字符串互相转换实例代码

Python群发邮件实例代码

python赋值操作方法分享

Python去掉字符串中空格的方法

Python的print用法示例

vc6编写python扩展的方法分享

Python的一些用法分享

盘点提高 Python 代码效率的方法

精品推荐
分类导航