더북(TheBook)

마찬가지로 os.path.isfile은 경로가 파일인지 검사한다.

os.listdir은 해당 디렉터리의 파일과 다른 디렉터리의 목록을 반환한다.

>>> os.listdir(cwd)

['music', 'photos', 'memo.txt']

이들 함수를 설명하기 위해, 이번 예제는 디렉터리를 걷고(walk), 모든 파일의 이름을 출력하고, 모든 디렉터리에 대해 자신을 재귀적으로 호출한다.

def walk(dirname):

for name in os.listdir(dirname):

path = os.path.join(dirname, name)

if os.path.isfile(path):

print(path)

else:

walk(path)

os.path.join은 디렉터리와 파일을 받아서 온전한 경로로 결합(join)한다.

os 모듈에는 여기서 정의한 함수와 비슷하지만, 더 기능이 많은 walk 함수가 있다. 연습삼아 파이썬 공식 문서를 읽고, os 모듈의 walk 함수를 사용해 주어진 디렉터리와 하위 디렉터리의 파일 이름을 출력하라. 내가 작성한 해법은 http://thinkpython2.com/code/walk.py에서 받을 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.