하위 폴더에 있는 파일을 모두 컨드롤 해야 할 경우가 있습니다.
python을 이용해 targer 폴더의 하위 폴더, 파일을 찾는 방법을 알아보고자 합니다.
target 폴더 : test_folder
1. target 폴더 검색
Python
위와 같이 입력 하게 되면 ▲
아래와 같이 결과 값이 나타나게 됩니다.▼
이와 같이
: 괄호 안에 있는 것이
|
폴더일 경우에는 True
폴더가 아닐 경우에는 False를 return한다.
따라서 모든 하위 폴더의 파일을 검색 하기 위해선
아래와 같이 재귀 함수를 써야 한다.▼
Python
import os
def _get_filepath_list_pair(_target_dir) :
target_dir = os.path.normpath(_target_dir) # remove trailing separator.
for fname in os.listdir(target_dir):
full_dir = os.path.join(target_dir, fname)
if os.path.isdir(full_dir):
_get_filepath_list_pair(full_dir)
else :
print full_dir
|
os.walk
자동 적으로 하위 폴더에 있는 모든 파일을 탐색해주는 라이브러리가 있다.
os.walk가 바로 그것이다.
위와 같은 동작을 하는 코드를 os.walk를 이용하면 다음과 같다.▼
Python
import os
def _get_filepath_list_pair(_target_dir) :
target_dir = os.path.normpath(_target_dir) # remove trailing separator.
for (path, dir, files) in os.walk(target_dir):
for fname in files:
fullfname = path + "/" + fname
print fullfname
|
0 댓글