1.os.popen运行shell列表命令:for f in os.popen(‘ls ‘ + path):print f.strip()2.利用glob模块
glob.glob(path)返回带目录的文件名.通配符和shell相似.path不能包含shell变量.
:path = os.path.expanduser(path)for f in glob(path + ‘/*’):print f.strip()3.利用os.listdir(推荐)
该方法返回不带根目录的文件名或子目录名
:path = os.path.expanduser(path)for f in os.listdir(path):print f.strip()4.利用os.walk(推荐)
返回一个包含3个项目的元组:当前目录名称,子目录名称,子文件名称
: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/pythonimport osfrom glob import glob::print(“call method %s, result is:” % func.__name__)print(“-” * 40)func(path)print(“=” * 40)return deco:for f in os.popen(‘ls ‘ + path):print f.strip():path = os.path.expanduser(path)for f in glob(path + ‘/*’):print f.strip():path = os.path.expanduser(path)for f in os.listdir(path):print f.strip():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)
,最快乐的时候,就是去旅行。