2017-02-12 1 views
-2

여러 개의 하위 폴더를 통해 구문 분석하고 파일 만 복사하는 스크립트 (가급적이면 파이썬이지만 다른 방법으로도 열려 있습니다) 특정 확장자 (예 : .mp3 & .mp4 등)를 Linux/Ubuntu의 다른 폴더에 추가 하시겠습니까?여러 폴더를 이동하고 특정 ext가 포함 된 파일 만 다른 단일 폴더로 복사

+1

:이 질문] (http://stackoverflow.com/questions/15617016/cp-copy-all-files -with-a-certain-extension-from-all-subdirectories) ('cp'를'mv'로 대체하십시오.) –

+0

사용자 정의 구현을 작성해야하는 강력한 이유가 없으면'find'를 사용합니다. – chepner

답변

0

os.walk을 사용하여 디렉토리 트리를 탐색하려고합니다. 그런 다음 각 파일에 대해 os.path.splitext을 사용하여 확장 프로그램을 가져옵니다. 은 기본 이름과 확장자를 반환합니다.

그런 다음 shutil.copy을 사용하여 대상 디렉토리로 복사하십시오. (당신의 가정 출발점으로 / 사용)

경량 예 :

배쉬를 들어
import os 
import os.path 
import shutil  

for root, dir, files in os.walk('/'): 
    for ffile in files: 
     if os.path.splitext(ffile)[1] in ('.mp3', '.mp4'): 
      src = os.path.join(root, ffile) 
      shutil.copy(src, [YOUR_TARGET_DIR]) 
+0

'ffile.endswith (('.jpg', '.png'))'를 사용할 수 있습니다. – vaultah

관련 문제