반응형
내가 제공 한 디렉토리의 파일 만 반환하도록 os.walk
를 어떻게 제한합니까?
def _dir_list(self, dir_name, whitelist):
outputList = []
for root, dirs, files in os.walk(dir_name):
for f in files:
if os.path.splitext(f)[1] in whitelist:
outputList.append(os.path.join(root, f))
else:
self._email_to_("ignore")
return outputList
해결 방법
walklevel
함수를 사용하세요.
import os
def walklevel(some_dir, level=1):
some_dir = some_dir.rstrip(os.path.sep)
assert os.path.isdir(some_dir)
num_sep = some_dir.count(os.path.sep)
for root, dirs, files in os.walk(some_dir):
yield root, dirs, files
num_sep_this = root.count(os.path.sep)
if num_sep + level <= num_sep_this:
del dirs[:]
os.walk
처럼 작동하지만 재귀의 깊이를 나타내는 level
매개 변수를 전달할 수 있습니다.
참조 페이지 https://stackoverflow.com/questions/229186
반응형
'파이썬' 카테고리의 다른 글
파이썬 Xlsxwriter 파일을 특정 경로에 저장하는 방법은 무엇입니까? (0) | 2020.12.16 |
---|---|
파이썬 Django 문자열을 날짜 형식으로 (0) | 2020.12.16 |
파이썬 scikit-learn에서 CountVectorizer를 사용하여 토큰을 추출하는 데 사용되지 않은 문서의 빈도를 계산할 수 있습니까? (0) | 2020.12.16 |
파이썬 시간과 분 단위로 두 열 간의 Pandas DataFrame 시간 차이 계산 (0) | 2020.12.15 |
파이썬 OpenCV를 사용하여 Python의 이미지에 노이즈 (Gaussian / salt and pepper 등)를 추가하는 방법 (0) | 2020.12.15 |
댓글