강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

열심학습자님의 프로필 이미지
열심학습자

작성한 질문수

프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)

glob.glob문 오류

작성

·

21

0

42-2 강의를 들으며 glob.glob으로 코딩을 해보다 아래와 같은 문제가 발생하였는데, 파라미터를 1개 써야 한다고 나오는거 같습니다.

 

glob.glob.jpg.webp

 

정답파일에도 같은 오류가 발생하던데, 버전이 바껴서 그런걸까요? 그러면 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 모듈 문서

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

강의에서도 질문에서 첨부한 이미지에서의 glob.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")

식으로 사용하시면 됩니다.

열심학습자님의 프로필 이미지
열심학습자

작성한 질문수

질문하기