인프런 커뮤니티 질문&답변
glob.glob문 오류
작성
·
21
0
42-2 강의를 들으며 glob.glob으로 코딩을 해보다 아래와 같은 문제가 발생하였는데, 파라미터를 1개 써야 한다고 나오는거 같습니다.

정답파일에도 같은 오류가 발생하던데, 버전이 바껴서 그런걸까요? 그러면 glob문은 사용할 수 없는건지 문의드립니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 열심학습자님.
glob 모듈의 glob.glob() 함수 사용에서 문제가 발생한 것으로 보입니다. 문자열 패턴을 사용하여 파일 경로의 목록을 반환해야 하는데, TypeError가 발생했다면 두 가지 이상의 파라미터가 잘못 전달되었기 때문일 수 있습니다.
glob.glob(pattern) 함수는 다음과 같은 형태로 하나의 문자열 패턴을 기대합니다:
- 예시: glob.glob('../source/42-1/*.png')
오류가 발생한 원인은 아마도 glob.glob 함수에 두 개의 파라미터를 잘못 전달한 경우일 수 있습니다. glob.glob 함수는 패턴만을 하나의 인자로 받으므로, 만약 두 개의 인자를 제공되었다면 TypeError가 발생할 것입니다.
여기서 올바른 사용 예제를 참고하시길 바랍니다:
import glob
# PNG 파일 목록 가져오기
png_list2 = glob.glob('../source/42-1/*.png')
# Python 파일 목록 가져오기
py_list2 = glob.glob('../source/42-1/*.py')
print(png_list2)
print(py_list2)
만약 기본적인 사용에서 문제가 없으나, 여전히 오류가 있다면 Python 버전이나 설치 환경의 문제일 수 있으므로, 다음을 확인해 보시기 바랍니다:
1. Python의 버전을 확인하고, 최신 버전인지 검토합니다.
2. 해당 경로와 파일들이 실제로 존재하는지 확인합니다.
이와 관련된 추가적인 설명을 원하신다면, 다음의 문서를 참고해보세요:
- Python 공식 glob 모듈 문서
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
안녕하세요. 학습자님.
https://docs.python.org/3/library/glob.html
공식 3.x 레퍼런스를 보면 아직 크게 변경된 건 없어 보입니다.
glob2가 내부적으로 과거버전 패키지가 import 되었을 경우 케이스가 있을 순
있겠네요. 이경우는 파라미터를 1개 받는 메서드라 오류가 나올 순 있습니다.
import glob
print(glob.__file__)
print(glob.__name__)
실행을 해보시고 버전도 한 번 체크하시면 좋을 것 같아요!
즉, 말씀하신대로 glob.glob("../source/42-1/*.png")
식으로 사용하시면 됩니다.






강의에서도 질문에서 첨부한 이미지에서의 glob.glob("경로", "확장자") 형태의 코드를 사용했지만, 오류가 안났습니다. 게다가 정답 파일도 같은 오류가 발생하고 있고요. 음.. 아무래도 버전차이에 의해서 발생한 오류같네요.