Appia의 IT세상

파이썬[Python] 폴더의 파일 목록 출력/특정 확장자 파일 목록 출력 본문

Python/Python 응용

파이썬[Python] 폴더의 파일 목록 출력/특정 확장자 파일 목록 출력

Appia 2020. 5. 12. 07:55
반응형

이번 포스팅은 좀 간단한 팁을 하나 이야기를 드리고자 합니다. DBC 관련된 작업을 하다가, 고객의 요구 사항으로 파일 지정이 아니라, 폴더에 있는 모든 데이터들에 대해서 모두 파싱해주라고 하셔서, 관련된 부분을 찾다가 알게된 부분에 대해서 공유 드리고자 합니다. 이 부분에 대해서 총 2가지에 대해서 알아볼려고 합니다. 

 

1. 특정 폴더의 파일 목록 출력하기 

2. 특정 조건(확장자, 파일 이름)을 가지는 파일 목록 출력 

 

그럼 위의 2가지 주제로 간단히 한번 살펴보겠습니다. 

 

특정 폴더의 파일 목록 출력하기 

가장 간단하게 사용하는 모듈과 메소드는 os 모듈과 listdir 메소드입니다. listdir(path)는 path지정된 폴더의 모든 폴더와 파일을 리스트 형태로 리턴해줍니다. 그런 간단하게 한번 살펴보겠습니다. 

example) 

import os, glob
 
import os.path
 
targerdir = r"C:\Users\Bens\Desktop\V1"
 
files = os.listdir(targerdir)
 
for i in files :
 
    print(i)
cs

result)

0001.png
 
0002.png
 
0003.png
 
0004.png
 
0005.png
 
0006.png
 
0007.png
 
1001.png
 
1002.png
 
Data_example.csv
 
Modified_data.csv
 
V1.PNG
 
V2
 
V2.PNG
 
이미지 001.png
 
이미지 002.png
 
이미지 003.png
cs

이와 같은 형태로 데이터를 반환해줍니다. 이럴 경우에 폴더나 파일 구별 없이 모두 다 출력해줍니다. 그럼 폴더만 한번 선별해보도록 하겠습니다. 

example)

import os, glob
 
import os.path
 
targerdir = r"C:\Users\Bens\Desktop\V1"
 
files = os.listdir(targerdir)
 
for i in files :
 
    if os.path.isdir(targerdir+r"\\"+i):
    
        print(i)
cs

result)

V2
cs

 

동일하게 파일도 isfile을 이용하시면 됩니다. 관련해서는 하기 참조를 응용하심이 좋을 것으로 보입니다. 

파이썬[Python] 019 파일, 디렉토리 있는지 확인(유무 확인) 하는 법

 

특정 조건(확장자, 파일 이름)을 가지는 파일 목록 출력 

그럼 이제는 특정 조건을 가지는 파일들을 선별해보겠습니다. 먼저, csv파일만 한번 추출해보고자 합니다. 그럼 다음 예시를 한번 살펴보겠습니다. 

example)

import os, glob
 
import os.path
 
targerdir = r"C:\Users\Bens\Desktop\V1"
 
files = os.listdir(targerdir)
 
condition = '*.csv'
 
csvfiles = glob.glob(condition)
 
print(csvfiles)
cs

result) 

['Data_example.csv''modified_data.csv''sample.csv''sample1.csv']
cs

위와 같이 glob모듈을 이용해서 특정 조건에 맞는 파일을 선별할 수가 있습니다. 그럼, 이번에는 특정 이름이 포함된 파일만 다 선별해보도록 하겠습니다. 

example)

import os, glob
 
import os.path
 
targerdir = r"C:\Users\Bens\Desktop\V1"
 
files = os.listdir(targerdir)
 
condition = '*amp*.*'
 
csvfiles = glob.glob(condition)
 
print(csvfiles)
cs

result) 

['Data_example.csv''Example.py''GUI_Example.py''sample.csv''sample1.csv''Txt_example.txt']
cs

 

위에서 보이는 바와 같이 amp과 포함된 모든 파일을 출력하도록 하였습니다. 

 

이런 부분들을 활용하시면 특정 확장자 및 특정 파일에 대해서 import할 때 매우 유용하게 사용될 수 있습니다. 

 

오늘은 크게 2가지 형태로 특정 폴더의 파일 목록 출력하는 방법과 특정 조건에 부합하는 예를 들면 특정 확장자, 특정 이름을 포함하는 파일들을 출력하는 방법에 대해서 살펴봤습니다. 혹시 궁금하시거나 문의 사항 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

 

 

반응형
Comments