Python - 폴더의 모든 파일 리스트 가져오기

By JS | Last updated: June 21, 2021

파이썬에서 특정 폴더 하위의 모든 파일 리스트를 가져오는 방법을 소개합니다.

1. 모든 파일, 폴더 리스트 (os.walk)

os.walk()는 인자로 전달된 경로의 폴더를 재귀적으로 탐색하여, 모든 파일 리스트를 출력할 수 있습니다.

import os

dir_path = "/home/mjs/tests"

for (root, directories, files) in os.walk(dir_path):
    for d in directories:
        d_path = os.path.join(root, d)
        print(d_path)

    for file in files:
        file_path = os.path.join(root, file)
        print(file_path)
  • root: 탐색 중인 상위 폴더의 경로
  • directories: 탐색 중인 경로의 폴더 이름들
  • files: 탐색 중인 경로의 파일 이름들

Output:

/home/mjs/tests/ArrayDeepCopy.java
/home/mjs/tests/t1.txt
/home/mjs/tests/test2.txt
/home/mjs/tests/main.jar
/home/mjs/tests/ArrayDeepCopy.class
...

2. 모든 파일 리스트 (os.walk)

파일 리스트를 출력할 때 os.walk()로 폴더를 탐색할 때 파일 정보만 가져옵니다.

import os

dir_path = "/home/mjs/tests"

for (root, directories, files) in os.walk(dir_path):
    for file in files:
        file_path = os.path.join(root, file)
        print(file_path)

3. 특정 확장자의 파일 리스트 (os.walk)

파일 경로의 문자열에서 확장자가 포함되어 있는지 확인하여, 특정 확장자의 파일 목록만 가져올 수 있습니다.

import os

dir_path = "/home/mjs/tests"

for (root, directories, files) in os.walk(dir_path):
    for file in files:
        if '.txt' in file:
            file_path = os.path.join(root, file)
            print(file_path)

Output:

/home/mjs/tests/t1.txt
/home/mjs/tests/test2.txt
/home/mjs/tests/test1.txt
/home/mjs/tests/test3.txt

References

Related Posts

댓글을 보거나 쓰려면 이 버튼을 눌러주세요.
codechachaCopyright ©2019 codechacha