아미(아름다운미소)

[python]디렉토리의 내용을 나열하기 본문

랭귀지/PYTHON

[python]디렉토리의 내용을 나열하기

유키공 2017. 12. 16. 10:30


이렇게 하려면 필요에 따라 가지 방법이 있다.

listdir() 메쏘드는 디렉토리 안의 모든 파일을 담은 리스트를 돌려준다:

import os
for filename in os.listdir(r'c:\windows'):
    print filename

fnmatch() 모듈을 사용하면 파일 이름을 여과할 있다.

glob 모듈은 listdir() fnmatch() 하나의 모듈 안에 싸넣은 것이다:

import glob
for filename in glob.glob(r'c:\windows\*.exe'):
    print filename

서브디렉토리를 모을 필요가 있다면, os.path.walk() 사용하자:

import os.path
def processDirectory ( args, dirname, filenames ):
    print 'Directory',dirname
    for filename in filenames:
        print ' File',filename

os.path.walk(r'c:\windows', processDirectory, None )

os.path.walk() 역호출과 함께 작동한다: processDirectory() 디렉토리를 만날 때마다 호출된다.
dirname에는 디렉토리의 경로가 담긴다.
filenames에는 디렉토리 안에 있는 파일이름들의 리스트가 담긴다.

 

os.walk() 사용할 있는데, 메쏘드는 -재귀적으로 작동하며 약간 이해하기가 쉽다.

 

import os
for dirpath, dirnames, filenames in os.walk('c:\\winnt'):
    print 'Directory', dirpath
    for filename in filenames:
        print ' File', filename



Comments