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을 사용하여 디렉토리의 파일을 반복하는 방법에 대한 상세한 자습서가 완성되었습니다. 특정 요구에 맞게 이 코드 예제를 사용자 정의하고 사용해보세요.