Python의 디렉토리에서 파일을 통해 루프

Muhammad Waiz Khan 2023년1월30일
  1. os.listdir()메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다
  2. pathlib.path().glob()메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다
  3. os.walk()메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다
  4. iglob()메서드를 사용하여 Python에서 디렉토리의 파일을 반복합니다
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)

관련 문장 - Python File