Open kyoungjoosin opened 2 months ago
os 모듈의 listdir을 사용하여 특정 폴더에 있는 파일 리스트를 가져올 수 있다.
import os path = "./test/" //특정 폴더의 경로 file_list = os.listdir(path) print(file_list)
현재 디렉토리에 있는 모든 파일 리스트를 가져온다. 실행 결과는 다음과 같다.
['testdira', 'eq.js', 'test.db', 'etl.py', '.etl.py.swp', 'testdirb', 'testdirc', 'find_file.py', 'asd.py', 'namespace_.py', 'namespace_2.py', 'eq.py']
여기서 .py 확장자를 가진 파일 리스트를 보고 싶다면 다음 코드를 추가한다.
import os path = "./test/" file_lsit = os.listdir(path) file_list_py = [file for file in file_list if file.endswith(".py")] print(file_list_py)
파이썬에서 startswith(), endswith() 은 문자열 함수 중 하나이다.
['etl.py', 'find_file.py', 'asd.py', 'namespace_.py', 'namespace_2.py', 'eq.py']
실행하면 다음과 같이 .py 형식으로 끝나는 파일 리스트만 보여준다.
glob는 os.listdir과 완전히 같은 형태인데, *path를 정의하는 부분에 애스터리스크()가 붙은 것** 이 다르다.
import os path = "./test/*" //특정 폴더의 경로 file_list = glob.glob(path) file_list_py = [file for file in file_list if file.endswith(".py")] print(file_list)
실행하면
['./test/testdira', './test/eq.js', './test/test.db', './test/etl.py', './test/testdirb', './test/testdirc', './test/find_file.py', './test/asd.py', './test/namespace_.py', './test/namespace_2.py', './test/eq.py']
listdir 과 다르게 경로명까지 전부 가져온다.
공통) 둘 다 특정 폴더의 파일 리스트를 가져온다.
차이) listdir 은 해당 경로의 파일/디렉토리명만 가져오지만, glob 은 탐색한 경로까지 함께 가져온다.
참고 [python] 특정 파일 리스트 가져오기(listdir, glob) https://itholic.github.io/python-listdir-glob/
[Python] startswith(), endswith() : 문자열 시작 문자, 끝 문자로 검색하는 함수 https://m.blog.naver.com/regenesis90/222387142436
특정 폴더(디렉토리) 파일 리스트 가져오기
[os.listdir]
os 모듈의 listdir을 사용하여 특정 폴더에 있는 파일 리스트를 가져올 수 있다.
현재 디렉토리에 있는 모든 파일 리스트를 가져온다. 실행 결과는 다음과 같다.
여기서 .py 확장자를 가진 파일 리스트를 보고 싶다면 다음 코드를 추가한다.
파이썬에서 startswith(), endswith() 은 문자열 함수 중 하나이다.
실행하면 다음과 같이 .py 형식으로 끝나는 파일 리스트만 보여준다.
[glob.glob]
glob는 os.listdir과 완전히 같은 형태인데, *path를 정의하는 부분에 애스터리스크()가 붙은 것** 이 다르다.
실행하면
listdir 과 다르게 경로명까지 전부 가져온다.
결론적으로,
공통) 둘 다 특정 폴더의 파일 리스트를 가져온다.
차이) listdir 은 해당 경로의 파일/디렉토리명만 가져오지만, glob 은 탐색한 경로까지 함께 가져온다.