glob.glob(path)返回带目录的文件名.通配符和shell相似.path不能包含shell变量.
 代码如下:
该方法返回不带根目录的文件名或子目录名
 代码如下:
返回一个包含3个项目的元组:当前目录名称,子目录名称,子文件名称
 代码如下:
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)
下载本文