[python] 파이썬: 특정 폴더의 파일 검색하기
특정 폴더 파일 검색
폴더 안 파일명 검색
import os
path = "/Users/idaeung/Downloads/test" # 검색하고자하는 폴더 경로
file_names = os.listdir(path)
# 출력
# ['24_20190416.xlsx', '29_20190431.xlsx', '28_20190423.xlsx', '21_20190409.xlsx', '23_20190411.xlsx']
path = "/Users/idaeung/Downloads/test" # 검색하고자하는 폴더 경로
file_names = os.listdir(path)
# 출력
# ['24_20190416.xlsx', '29_20190431.xlsx', '28_20190423.xlsx', '21_20190409.xlsx', '23_20190411.xlsx']
os.listdir(path)
Notes
path에 있는 파일명을 리스트로 가져올 수 있습니다.
파일 리스트는 파일명만을 포함하고 있으므로 경로를 포함한 파일명을 따로 구해주어야 합니다.
파일 리스트는 파일명만을 포함하고 있으므로 경로를 포함한 파일명을 따로 구해주어야 합니다.
경로를 포함한 파일명 구하기
for file_name in file_names:
full_filename = os.path.join(path, file_name)
# 출력
# /Users/idaeung/Downloads/test/24_20190416.xlsx# /Users/idaeung/Downloads/test/29_20190431.xlsx
# /Users/idaeung/Downloads/test/28_20190423.xlsx
# /Users/idaeung/Downloads/test/21_20190409.xlsx
# /Users/idaeung/Downloads/test/23_20190411.xlsx
os.path.join(path, file_name)
Notes
경로를 병합하여 새 경로를 생성(path + file_name)합니다.
전체코드
import os
path = "/Users/idaeung/Downloads/test"
file_names = os.listdir(path)
for file_name in file_names:
full_filename = os.path.join(path, file_name)
하위 폴더 검색을 보다 쉽게 하는 os.walk
import os
path = "/Users/idaeung/Downloads/test"
for dir_path, dir_names, file_names in os.walk(path):
print("dir_path = {0}".format(dir_path))
print("dir_names = {0}".format(dir_names))
print("file_names = {0}".format(file_names))
# 출력
# dir_path = /Users/idaeung/Downloads/test
# dir_names = []
# file_names = ['24_20190416.xlsx', '29_20190431.xlsx', '28_20190423.xlsx', '21_20190409.xlsx', '23_20190411.xlsx']
path = "/Users/idaeung/Downloads/test"
for dir_path, dir_names, file_names in os.walk(path):
print("dir_path = {0}".format(dir_path))
print("dir_names = {0}".format(dir_names))
print("file_names = {0}".format(file_names))
# 출력
# dir_path = /Users/idaeung/Downloads/test
# dir_names = []
# file_names = ['24_20190416.xlsx', '29_20190431.xlsx', '28_20190423.xlsx', '21_20190409.xlsx', '23_20190411.xlsx']
os.walk()
Notes
os.walk는 특정 폴더부터 그 하위의 모든 폴더를 차례대로 방문하여 파일 리스트를 검색합니다.
dirpath는 해당 디렉토리 경로
dirnames는 해당 디렉토리의 하위 디렉토리 목록
filenames는 해당 디렉토리의 하위 파일 목록입니다.
dirpath는 해당 디렉토리 경로
dirnames는 해당 디렉토리의 하위 디렉토리 목록
filenames는 해당 디렉토리의 하위 파일 목록입니다.
참고문헌
[1] https://www.tutorialspoint.com/python/os_listdir.htm[2] https://docs.python.org/3/library/os.path.html
[3] https://docs.python.org/3/library/os.html
댓글
댓글 쓰기