[PYTHON] 모든 하위 디렉토리를 포함하여 디렉토리에서 파일을 얻는 방법
PYTHON모든 하위 디렉토리를 포함하여 디렉토리에서 파일을 얻는 방법
모든 하위 디렉터리를 포함하여 디렉터리의 모든 로그 파일 (.log) 목록을 가져 오려고합니다.
해결법
-
==============================
1.
import os import os.path for dirpath, dirnames, filenames in os.walk("."): for filename in [f for f in filenames if f.endswith(".log")]: print os.path.join(dirpath, filename)
-
==============================
2.os.walk와 함께 glob 모듈을 사용할 수도 있습니다.
os.walk와 함께 glob 모듈을 사용할 수도 있습니다.
import os from glob import glob files = [] start_dir = os.getcwd() pattern = "*.log" for dir,_,_ in os.walk(start_dir): files.extend(glob(os.path.join(dir,pattern)))
-
==============================
3.Checkout Python 재귀 디렉토리 워커. 간단히 말해 os.listdir ()과 os.walk ()는 친구입니다.
Checkout Python 재귀 디렉토리 워커. 간단히 말해 os.listdir ()과 os.walk ()는 친구입니다.
-
==============================
4.나는 해결책이있다 :
나는 해결책이있다 :
import os for logfile in os.popen('find . -type f -name *.log').read().split('\n')[0:-1]: print logfile
또는
import subprocess (out, err) = subprocess.Popen(["find", ".", "-type", "f", "-name", "*.log"], stdout=subprocess.PIPE).communicate() for logfile in out.split('\n')[0:-1]: print logfile
이 두 가지는 find를 이용합니다. -type f -name * .log.
첫 번째 것은 더 간단하지만 보장되지 않습니다. 공백을 위해 -name * .log를 추가하면, 하지만 간단하게 찾을 수있는 일을 .. ../testdata -type f (내 OS X 환경에서).
두 번째는 서브 프로세스를 사용하는 것이 더 복잡해 보이지만, 이것은 공백으로 안전한 것입니다 (다시 말해서, OS X 환경에서).
이것은 Chris Bunch, 대답에 https://stackoverflow.com/a/3503909/2834102
-
==============================
5.현재 디렉토리에 나열하려면 다음과 같이 사용할 수 있습니다.
현재 디렉토리에 나열하려면 다음과 같이 사용할 수 있습니다.
import os for e in os.walk(os.getcwd()): print e
그냥
os.getcwd()
다른 경로로 이동하여 결과를 얻습니다.
from https://stackoverflow.com/questions/954504/how-to-get-files-in-a-directory-including-all-subdirectories by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬 / IPython 인터프리터에서 밑줄 _에 값 지정 _ (0) | 2018.10.19 |
---|---|
[PYTHON] PDF를 이미지로 자동 변환 (0) | 2018.10.19 |
[PYTHON] \ n을 <br />으로 바꾸십시오. (0) | 2018.10.19 |
[PYTHON] 여러 문자열이있는 열에서 get_dummies 형식 데이터 프레임을 만드는 가장 빠른 방법 (0) | 2018.10.19 |
[PYTHON] PyBrain을 사용한 신경망 훈련은 수렴하지 않습니다. (0) | 2018.10.19 |