最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 14:32:34
文档

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

Python遍历目录的4种方法实例介绍: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变量.
推荐度:
导读Python遍历目录的4种方法实例介绍: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变量.


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遍历目录的4种方法实例介绍: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变量.
推荐度:
标签: python 目录的 遍历
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top