본문으로 건너뛰기

Python에서 디렉토리의 파일들을 반복하는 방법.

파이썬에서 디렉토리의 파일을 반복하는 방법.

다음은 Python을 사용하여 디렉토리의 파일을 반복하는 방법에 대한 상세한 단계별 자습서입니다.

단계 1: 필요한 모듈 가져오기

먼저, 운영 체제와 상호 작용하는 방법을 제공하는 os 모듈을 가져와야 합니다. 이 모듈을 사용하여 지정된 디렉토리의 파일과 디렉토리에 액세스할 수 있습니다.

import os

단계 2: 디렉토리 경로 지정하기

다음으로, 반복하려는 디렉토리의 경로를 지정해야 합니다. 절대 경로(예: /경로/디렉토리) 또는 상대 경로(예: ./디렉토리)를 제공할 수 있습니다. 디렉토리가 존재하고 필요한 권한이 있는지 확인하세요.

directory = '/경로/디렉토리'

단계 3: 디렉토리의 파일 반복하기

이제 os.listdir() 함수를 사용하여 지정된 디렉토리의 모든 파일과 디렉토리의 목록을 가져올 수 있습니다. 그런 다음, 이 목록을 반복하여 각 파일을 개별적으로 처리할 수 있습니다.

for filename in os.listdir(directory):
# 파일 처리
print(filename)

단계 4: 항목이 파일인지 확인하기

루프 내에서 디렉토리가 아닌 파일에 대해서만 특정 동작을 수행할 수 있습니다. 이를 위해 os.path.isfile() 함수를 사용하여 루프의 현재 항목이 파일인지 확인할 수 있습니다.

for filename in os.listdir(directory):
if os.path.isfile(os.path.join(directory, filename)):
# 파일 처리
print(filename)

단계 5: 전체 파일 경로 얻기

루프 내에서 파일에 액세스해야 하는 경우 전체 파일 경로가 필요합니다. os.path.join() 함수를 사용하여 디렉토리 경로와 루프의 현재 파일 이름을 연결할 수 있습니다.

for filename in os.listdir(directory):
if os.path.isfile(os.path.join(directory, filename)):
full_path = os.path.join(directory, filename)
# 전체 파일 경로를 사용하여 파일 처리
print(full_path)

단계 6: 확장자로 파일 필터링하기

때로는 특정 파일 확장자를 가진 파일만 처리하려는 경우가 있습니다. str.endswith() 메서드를 사용하여 확장자에 따라 파일을 필터링할 수 있습니다.

extension = '.txt'  # 원하는 파일 확장자 지정

for filename in os.listdir(directory):
if filename.endswith(extension) and os.path.isfile(os.path.join(directory, filename)):
full_path = os.path.join(directory, filename)
# 지정된 확장자를 가진 파일 처리
print(full_path)

단계 7: 하위 디렉토리 재귀적으로 처리하기

디렉토리에 하위 디렉토리가 포함되어 있고 해당 하위 디렉토리의 모든 파일을 반복하려는 경우 재귀를 사용할 수 있습니다. 각 하위 디렉토리에 대해 자체 함수를 생성하여 해당 함수를 호출합니다.

def iterate_files(directory):
for filename in os.listdir(directory):
if os.path.isfile(os.path.join(directory, filename)):
full_path = os.path.join(directory, filename)
# 파일 처리
print(full_path)
else:
subdirectory = os.path.join(directory, filename)
iterate_files(subdirectory) # 하위 디렉토리에 대해 함수 재귀 호출

# 초기 디렉토리로 함수 호출
iterate_files(directory)

여기까지입니다! 이제 Python을 사용하여 디렉토리의 파일을 반복하는 방법에 대한 상세한 자습서가 완성되었습니다. 특정 요구에 맞게 이 코드 예제를 사용자 정의하고 사용해보세요.