This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: AttributeError on opening ZipFile
Type: Stage: resolved
Components: Versions: Python 3.6
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: Jacob B2, vstinner
Priority: normal Keywords:

Created on 2017-04-28 01:15 by Jacob B2, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (2)
msg292494 - (view) Author: Jacob B (Jacob B2) Date: 2017-04-28 01:15
The error occurs when I attempt to run the following code:

from urllib.request import urlretrieve
from os import path
from zipfile import ZipFile

download_url = "https://www.dropbox.com/s/obiqvrt4m53pmoz/tesseract-4.0.0-alpha.zip?dl=1"


def setup_program():
    zip_name = urlretrieve(download_url)

    zip_file = ZipFile(zip_name, "r")
    zip_file.extractall(path.abspath("__tesseract/"))
    zip_file.close()

setup_program()  # REMOVE after test


I get the following traceback:

$ python downloader.py
Traceback (most recent call last):
  File "downloader.py", line 15, in <module>
    setup_program()
  File "downloader.py", line 11, in setup_program
    zip_file = ZipFile(zip_name, "r")
  File "C:\Python36\lib\zipfile.py", line 1100, in __init__
    self._RealGetContents()
  File "C:\Python36\lib\zipfile.py", line 1163, in _RealGetContents
    endrec = _EndRecData(fp)
  File "C:\Python36\lib\zipfile.py", line 241, in _EndRecData
    fpin.seek(0, 2)
AttributeError: 'tuple' object has no attribute 'seek'
msg292495 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-04-28 01:20
urlretrieve() returns (filename, file-like object). It's a bug in your code, not in Python itself ;-)
History
Date User Action Args
2022-04-11 14:58:45adminsetgithub: 74380
2017-04-28 01:20:15vstinnersetstatus: open -> closed

nosy: + vstinner
messages: + msg292495

resolution: not a bug
stage: resolved
2017-04-28 01:15:03Jacob B2create