glob
glob은 파일 및 디렉토리를 패턴을 사용하여 검색하는 데 사용된다.
glob 파일 찾기, 현재 경로
import glob
# 현재 디렉토리에서 확장자가 .txt인 파일 찾기
txt_files = glob.glob("*.txt")
print(txt_files)
glob 모듈의 glob 함수를 사용하여 파일을 찾는다. 메서드 인자로는 경로에 대한 문자열이 입력된다. 경로는 절대경로와 상대경로 모두 사용이 가능하다. 위의 경우 상대경로로, 현재 디렉토리에 있는 '.txt' 로 끝나는 파일을 반환하게 된다.
glob 파일 찾기, 하위 경로
# 하위 경로의 txt파일 찾기
for filename in glob.glob('**/*.txt'): # '**' 하위의 어떤 경로든 상관없다.
print(filename)
현재 디렉토리의 파일을 찾을 수 있듯이, '**/' 를 포함하면 하위 디렉토리도 탐색할 수 있다.
현재 디렉토리에서 모든 하위 디렉토리를 탐색하기 때문에 특정 하위 디렉토리만 탐색하기 위해선 경로를 특정하는 것이 좋다.
# 하위 경로의 txt파일 찾기
for filename in glob.glob('**/**/*.txt'): # '**' 하위의 어떤 경로든 상관없다.
print(filename)
마찬가지로 하위 디렉토리 그 다음 하위 디렉토리 까지도 탐색이 가능하다.
glob 파일 찾기, (현재 + 하위) 경로
# 현재와 하위 경로의 txt파일 모두 찾기
for filename in glob.glob('**/*.txt', recursive=True): # '**' 하위의 어떤 경로든 상관없다.
print(filename)
만약 현재 경로와 하위 경로를 모두 탐색하고 싶다면 recursive 옵션을 True로 설정하면 된다.
glob 모듈로 경로 만들고 fileinput 모듈로 파일 열기
import glob
# 해당 경로의 파일(디렉토리) 이름을 리스트로 반환
glob.glob(os.path.join('data/', '*.txt')) # 경로를 합쳐준다.
with fileinput.input(glob.glob(os.path.join('data/', '*.txt'))) as f:
for line in f:
print(line)
glob 모듈의 glob 함수를 사용하여 해당 패턴에 맞는 파일을 찾는다.
'파이썬 > 기본' 카테고리의 다른 글
[파이썬] 임의 정밀도 정수 - 미완 (0) | 2023.10.21 |
---|---|
[파이썬] OS모듈 (0) | 2023.09.15 |
[파이썬] 객체지향과 클래스 (0) | 2023.09.14 |
[파이썬] 재귀 호출 (0) | 2023.09.14 |
[파이썬] 콜백함수 & 람다함수 (0) | 2023.09.14 |
댓글