디렉토리의 모든 파일을 얻는 방법
-
os.listdir
은 파이썬에서 디렉토리의 모든 파일을 가져옵니다 -
파이썬에서 디렉토리의 모든 파일을 가져 오는
os.walk
-
glob.glob
는 파이썬에서 디렉토리의 모든 파일을 가져옵니다
Python 함수 os.listdir
,os.walk
및 glob.glob
를 사용하여 Python 에서 디렉토리의 모든 파일을 나열하는 방법이 3 개 이상있을 수 있습니다.
아래는이 튜토리얼의 추정입니다.
- 파이썬 버전-파이썬 3
- 경로 이름은
dirPath
이며 시스템에 존재하므로 디렉토리의 존재를 확인할 필요가 없습니다.
os.listdir
은 파이썬에서 디렉토리의 모든 파일을 가져옵니다
os.listdir
은 디렉토리의 모든 파일과 폴더를 나열하므로 결과에서 파일을 필터링하려면 추가 코드가 필요합니다.
import os
dirPath = r"C:\git\DelftStack\content"
result = [f for f in os.listdir(dirPath) if os.path.isfile(os.path.join(dirPath, f))]
print(result)
os.listdir
은 dirPath
를 참조하여 파일 또는 폴더의 상대 경로 만 반환하며,os.path.isfile
함수는 파일인지 여부를 확인하기 위해 전체 경로가 필요하므로 사용해야합니다. os.path.join
은 dirPath
와 os.listdir
의 결과를 결합하여 파일이나 경로의 전체 경로를 얻습니다.
파이썬에서 디렉토리의 모든 파일을 가져 오는 os.walk
os.walk
는 트리를 하향식으로 (기본적으로) 또는 상향식으로 이동하여 지정된 디렉토리에 파일 이름을 생성합니다. 트리의 디렉토리 (* top * 자체 포함)로 이동할 때마다 3 개의 튜플 (dirpath
,dirname
,filenames
)이 생성됩니다.
모든 파일은os.walk
의 첫 번째 수확량을 위해 튜플에 포함되므로 Pythonic 방식은 다음과 같습니다.
import os
dirPath = r"C:\git\DelftStack\content"
result = next(os.walk(dirPath))[2]
print(result)
glob.glob
는 파이썬에서 디렉토리의 모든 파일을 가져옵니다
glob
모듈은 Unix 쉘에서 사용 된 규칙에 따라 주어진 특정 패턴과 일치하는 모든 경로 이름을 찾습니다. glob.glob
는 주어진 경로 이름 패턴과 일치하는 경로 이름 목록을 반환합니다. 파일 경로는*.*
패턴을 가지고 있는데, 이것은 입력 인수로 glob.glob
에 전달됩니다.
import glob
dirPathPattern = r"C:\git\DelftStack\content\*.*"
result = glog.glob(dirPathPattern)
print(result)
glob.glob
는 C:\git\DelftStack\content\about.rst
와 같이 일치하는 파일의 전체 경로를 반환합니다.
여기에 표시된 glob.glob
메소드의 결과는 경로 이름이 패턴과 일치하는지 여부 만 확인하지만 파일 또는 디렉토리인지 확인하지 않기 때문에 파일 전용임을 보장 할 수 없습니다.
예를 들어, 디렉토리에 test.test
와 같은 이름 패턴이 있으면이 디렉토리도 결과에 포함됩니다.
출력에 파일 만 포함되어 있는지 확인해야하는 경우 os.path.isfile
함수를 사용하여 확인해야합니다.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook관련 문장 - Python File
- 파이썬에서 파일에 텍스트를 추가하는 방법
- 파이썬에 파일이 있는지 확인하는 방법
- 파이썬에서만 특정 확장자를 가진 파일을 찾는 방법
- 파이썬에서 파일에서 특정 줄을 읽는 방법
- Python에서 gzip 파일 읽기