gpt4 book ai didi

Python Zipfile - 无效参数 Errno 22

转载 作者:太空狗 更新时间:2023-10-30 00:20:03 26 4
gpt4 key购买 nike

我有一个 .zip 文件,想知道其中文件的名称。这是代码:

zip_path = glob.glob(path + '/*.zip')[0] 
file = open(zip_path, 'r') # opens without error
if zipfile.is_zipfile(file):
print str(file) # prints to console
my_zipfile = zipfile.ZipFile(zip_path) # throws IOError

这是回溯:

<open file u'/Users/me/Documents/project/uploads/assets/peter/offline_message/offline_imgs.zip', mode 'r' at 0x107b2a150>
Traceback (most recent call last):
File "/Users/me/Documents/project/admin_dev/proj_name/views.py", line 1680, in get_dps_app_builder_assets
link_to_assets_zip = zip_dps_app_builder_assets(server_url, app_slug, button_slugs)
File "/Users/me/Documents/project/admin_dev/proj_name/views.py", line 1724, in zip_dps_app_builder_assets
my_zipfile = zipfile.ZipFile(zip_path)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/zipfile.py", line 712, in __init__
self._GetContents()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/zipfile.py", line 746, in _GetContents
self._RealGetContents()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/zipfile.py", line 779, in _RealGetContents
fp.seek(self.start_dir, 0)
IOError: [Errno 22] Invalid argument

我很困惑为什么会发生这种情况,因为该文件显然存在并且是一个有效的 .zip 文件。文档明确指出您可以将文件路径或类似文件的对象传递给它,这两种方法都不适用于我的情况:

http://docs.python.org/2/library/zipfile#zipfile-objects

最佳答案

我无法解决这个问题,最终以完全不同的方式解决了这个问题。

编辑:在我使用的 Django 应用程序中,用户需要能够以 .zip 文件的形式上传 Assets ,然后在另一个具有不同结构的 zip 中下载他们上传的所有内容(加上我们动态生成的其他内容) .所以,我想解压一个以前上传的文件,并将该文件的内容压缩到另一个 zip 中,但由于错误,我无法做到这一点。我没有在用户请求下载时读取 zip 文件,而是从 Django InMemoryUploadedFile(我能够成功读取其内容)中解压缩它,并将解压缩的文件留在文件系统上以备后用。 zip 的内容只有两个较小的图像文件,因此这种提前解压缩 zip 以供日后使用的解决方法对我来说很有效。

关于Python Zipfile - 无效参数 Errno 22,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14383773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com