Python의 디렉토리에서 파일을 통해 루프
-
os.listdir()
메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다 -
pathlib.path().glob()
메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다 -
os.walk()
메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다 -
iglob()
메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다
이 튜토리얼은 Python의 디렉토리에있는 파일을 반복하는 다양한 방법을 설명합니다. 파일 공유, 파일보기 또는 파일로드와 같은 기능을 구현하기 위해 디렉토리에서 파일을 찾아서 저장된 데이터에 대해 작업을 수행해야합니다.
파일 이름이 있고 해당 파일에서 데이터를 읽어야한다고 가정하면 필요한 파일을 찾기 위해 디렉토리의 파일을 반복하는 방법이 필요합니다. Python의 디렉토리에있는 파일을 반복하는 데 사용되는 다양한 방법이 아래에 설명되어 있습니다.
os.listdir()
메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다
os
모듈의listdir()
메소드는 디렉토리 경로를 입력으로 받아 해당 디렉토리의 모든 파일 목록을 반환합니다. 디렉토리에서 특정 파일을 찾으려면 필요한 파일을 찾기 위해 파일 이름을 반복해야합니다. 아래 코드 예제는 Python에서listdir()
메서드를 사용하여 파일을 반복하여 특정 파일을 찾는 방법을 보여줍니다.
import os
files = os.listdir("Desktop/myFolder")
myfile = "filename.txt"
for filename in files:
if filename == myfile:
continue
pathlib.path().glob()
메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다
pathlib
모듈의path()
메소드는 디렉토리 경로 문자열을 입력으로 받아 디렉토리 및 하위 디렉토리의 모든 파일 경로 목록을 반환합니다.
찾고자하는 파일이.txt
파일이라고 가정하면path().glob()
메소드를 사용하여 모든.txt
파일의 경로를 가져올 수 있습니다. 아래 코드 예제는 Python에서path
메소드를 사용하여 디렉토리의 모든.txt
파일을 반복하는 방법을 보여줍니다.
from pathlib import Path
pathlist = Path("Desktop/myFolder").glob("**/*.txt")
myfile = "filename.txt"
for path in pathlist:
if path.name == myfile:
continue
**/*.txt
패턴은 현재 폴더와 하위 폴더에서 확장자가txt
인 모든 파일을 반환합니다. path.name
은 파일 이름 만 반환하고 전체 경로는 반환하지 않습니다.
os.walk()
메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다
os
모듈의walk()
메소드는 디렉토리 경로 문자열을 입력으로 받아 루트 디렉토리 경로, 하위 디렉토리 목록, 하위 디렉토리의 목록, 현재 디렉토리와 하위 디렉토리에 있는 모든 파일 목록을 반환합니다.
filename.txt
라는 이름의 파일을 찾으려면 먼저 디렉토리에있는 모든 파일을 가져온 다음 원하는 파일을 얻기 위해 반복 할 수 있습니다. 아래 코드 예제는 디렉토리의 파일을 반복하여 파일을 찾는 방법을 보여줍니다.
import os
myfile = "filename.txt"
for root, dirs, files in os.walk("Desktop/myFolder"):
for file in files:
if file == myfile:
print(file)
iglob()
메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다
glob()
모듈의iglob()
메소드는 필요한 파일의 디렉토리 경로와 확장자를 입력으로 받아 동일한 확장자를 가진 모든 파일의 경로를 반환합니다. 아래 코드 예제는 디렉토리의 파일을 반복하고iglob()
메서드를 사용하여 Python에서 필요한 파일을 찾는 방법을 보여줍니다.
import glob
for filepath in glob.iglob("drive/test/*.txt"):
if filepath.endswith("/filename.txt"):
print(filepath)