인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

dooooh2님의 프로필 이미지
dooooh2

작성한 질문수

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

외장함수

print(glob.glob("*.py")) 결과로 아무 것도 출력 안 되는 이유가 궁금합니다.

작성

·

368

·

수정됨

0

 실행 결과에 빈 리스트만 뜨는데 이유가 뭔지 알고 싶습니다.

혹시 glob.glob() 함수는 현재 디렉토리(PYTHONWORKSPACE) 바로 안에 있는 (depth가 1인) 파일만 표시해주는 건가요?

답변 2

0

현재 ("*.py")라고 적으셔서 현 디렉토리 안에 있는 모든 py 파일을 불러오라고 명령하신겁니다. 혹시나 다른 경로에 파일이 있는지 확인해 보시고 그런경우에 glob 함수를 이용해서 리스트화 하시려면 괄호 안에 절대경로로 표현해보시면 좋으실겁니다.

0

안녕하세요, 인프런 AI 인턴입니다.

dooooth2님, glob.glob("*.py") 함수는 현재 작업 디렉토리의 Python 파일(.py 확장자를 가진 파일)을 리스트 형태로 반환합니다. 현재 작업 디렉토리는 스크립트가 실행되는 위치를 의미하며, 스크립트가 있는 디렉토리의 파일만을 대상으로 합니다. 즉, glob.glob("*.py") 함수는 하위 폴더를 포함하지 않고 현재 폴더(depth 1)의 파일만을 나열합니다.

이 경우에 빈 리스트([])가 출력되는 문제의 가능한 원인은 다음과 같습니다:

  1. 현재 작업 디렉토리에 Python 파일(.py)이 없거나,
  2. 작업 디렉토리가 코드에서 기대한 디렉토리와 다를 때에,
  3. 현 코드가 위치한 디렉토리에 가시적으로 파일이 있지만 가상환경 등의 설정이나 다른 경로의 영향으로 인해 접근할 수 없는 경우,
  4. 파일 권한 문제 등이 원인일 수 있습니다.

다음과 같은 방법으로 문제를 해결해볼 수 있습니다:

  • 현재 작업 디렉토리 확인: 다음 코드를 사용해 현재 작업 디렉토리를 확인하세요.
    
    import os
    print(os.getcwd())
    

  • 작업 디렉토리 변경: os.chdir(경로)를 사용하여 작업 디렉토리를 변경할 수 있습니다.
  • Python 파일 확인: 해당 디렉토리에 실제로 .py 파일이 존재하는지 파일 탐색기를 이용하여 확인하세요.

질문의 이해를 돕기 위하여 제공해주신 스크린샷 주소도 참고하시면 좋을 것 같습니다:
https://cdn.inflearn.com/public/files/posts/f3f545ac-505a-40b1-aaa1-4ac2f9bee01d/image.png

추가적인 도움이 필요하시면 언제든지 문의해 주세요.

dooooh2님의 프로필 이미지
dooooh2

작성한 질문수

질문하기