개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.11 17:17

zip_open 함수 사용 중 오류가 발생하는 이유를 알려주세요

목록
  • 웹앱구루 2일 전 2025.04.11 17:17
  • 25
    1
제가 zip_open 함수를 사용하여 zip 파일을 열려고 합니다. 하지만 zip_open 함수는 deprecated 되었으며, 대신 zipfile 모듈을 사용해야 합니다. 하지만 zipfile 모듈을 사용하여도 zip 파일을 열 수 없는데, 오류가 발생하는 이유를 알려주세요.

예를 들어, 다음 코드를 실행했을 때 오류가 발생합니다.
python

import zipfile



zip_file = zipfile.ZipFile('example.zip', 'r')


오류 메시지는 다음과 같습니다.


zipfile.BadZipFile: File is not a zip file


이 오류는 zip 파일이 잘못된 형식으로 저장되어 있음을 의미합니다. 하지만 zip 파일의 형식이 정상적이라고 가정하고, 오류가 발생하는 이유를 알려주세요.

또한, zipfile 모듈을 사용하여 zip 파일을 열 때, zip_file.namelist() 메서드를 사용하여 zip 파일 내의 파일 목록을 얻을 수 있습니다. 하지만 이 메서드는 모든 파일 목록을 반환하는 것이 아니라, zip 파일 내의 디렉토리 목록만 반환합니다. 오류가 발생하는 이유를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    zip_open 함수는 deprecated 되었으며, 대신 zipfile 모듈을 사용해야 합니다.

    zipfile 모듈을 사용하여도 zip 파일을 열 수 없을 때 오류는 다음과 같습니다.

    1. zip 파일이 잘못된 형식으로 저장되어 있지 않다면, 오류는 zip 파일이 존재하지 않는 경우나, zip 파일이 열리지 않는 경우에 발생합니다. 예를 들어, zip 파일이 다른 경로에 존재하지 않거나, zip 파일이 열리지 않는 경우에 오류가 발생합니다.

    2. zip 파일 내의 파일 목록을 얻을 때, zip_file.namelist() 메서드는 모든 파일 목록을 반환하는 것이 아니라, zip 파일 내의 디렉토리 목록만 반환합니다. 오류가 발생하는 이유는 zip_file.namelist() 메서드는 디렉토리 목록만 반환하기 때문입니다.

    zip_file.namelist() 메서드를 사용하여 모든 파일 목록을 얻으려면, zip_file.infolist() 메서드를 사용하여 모든 파일 정보를 얻은 후, 파일 정보를 분석하여 모든 파일 목록을 얻을 수 있습니다.

    예를 들어, 다음 코드를 실행하여 모든 파일 목록을 얻을 수 있습니다.

    
    
    python
    
    import zipfile
    
    
    
    zip_file = zipfile.ZipFile('example.zip', 'r')
    
    file_list = [info.filename for info in zip_file.infolist()]
    
    print(file_list)
    
    


    위 코드는 zip_file.infolist() 메서드를 사용하여 모든 파일 정보를 얻은 후, 파일 정보를 분석하여 모든 파일 목록을 얻습니다.

    위 코드를 실행하면, zip 파일 내의 모든 파일 목록이 출력됩니다.

    2025-04-11 17:18

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 11,091건 / 25 페이지

검색

게시물 검색