컴공돌이의 스터디 블로그glob의 glob()를 사용해서 모든 파일에 작업하기 파이썬 버전 : Python 3.6.2 사용 에디터 : PyCharm 데이터셋이 온전한 하나이면 문제가 되지 않겠지만 일반적인 경우 외부에서 수집한 데이터는 여러개의 파일에 나눠서 저장이 되어 있는 경우가 많습니다. 이런 경우 파일을 1개씩 접근해서 작업을 해야 합니다.
위의 코드를 실행하면 간단하게 경로 내부에 존재하는 여러개의 파일에 대해서 동일한 작업을 수행할 수 있습니다. 개발자D 주제 : os 또는 glob를 활용한 파일리스트 가져오기 모든 데이터가 하나의 파일로 되어있다면 편하겠지만, 일반적으로 그렇지 않습니다. # import osos를 활용하여 해당파일위치에서 .csv로 끝나는 모든 파일명을 가져올수 있습니다
또는 아래와 같이 코드를 간결화하여 사용 가능합니다 os.listdir 결과 # import globglob를 활용하여 동일하게 데이터위치에서 .csv로 끝나는 모든 파일명을 가져올수 있습니다
또는 아래와 같이 코드를 간결화하여 사용 가능합니다 glob.glob 결과 # 차이점결과값을 보면, 확연한 차이를 볼 수 있습니다 (좌) os.listdir (우) glob.globos.listdir의 경우, 해당 디렉토리의 파일명만 가져오지만, ### Reference
소스 코드: Lib/glob.py The Note that files beginning with a dot ( 리터럴 일치를 위해서는, 대괄호 안에 메타 문자를 넣습니다. 예를 들어, 더 보기
glob. glob (pathname, *, root_dir=None, dir_fd=None, recursive=False)¶Return a possibly empty
list of path names that match pathname, which must be a string containing a path specification. pathname can be either absolute (like If root_dir is not This function can support paths relative to directory descriptors with the dir_fd parameter. recursive가 참이면, “
Raises an auditing event 참고 커다란 디렉터리 트리에서 “ 버전 3.5에서 변경: “ 버전 3.10에서 변경: Added the root_dir and dir_fd parameters. glob. iglob (pathname, *, root_dir=None, dir_fd=None,
recursive=False)¶실제로 동시에 저장하지 않고
Raises an auditing event 버전 3.5에서 변경: “ 버전 3.10에서 변경: Added the root_dir and dir_fd parameters. glob. escape (pathname)¶모든 특수 문자( 버전 3.4에 추가. 예를 들어, 다음과 같은
파일을 포함하는 디렉터리를 고려하십시오: >>> import glob >>> glob.glob('./[0-9].*') ['./1.gif', './2.txt'] >>> glob.glob('*.gif') ['1.gif', 'card.gif'] >>> glob.glob('?.gif') ['1.gif'] >>> glob.glob('**/*.txt', recursive=True) ['2.txt', 'sub/3.txt'] >>> glob.glob('./**/', recursive=True) ['./', './sub/'] 디렉터리에 >>> import glob >>> glob.glob('*.gif') ['card.gif'] >>> glob.glob('.c*') ['.card.gif'] 더 보기 모듈fnmatch 셸 스타일 파일명 (경로가 아님) 확장 |