无法导入 python 库 'zipfile'

REd*_*ing 7 zip python-2.7

感觉像个笨蛋。我正在尝试与 zip 文件交互,但似乎无法使用 zipfile 库。对python相当陌生

from zipfile import *
#set filename
fpath = '{}_{}_{}.zip'.format(strDate, day, week)

#use zipfile to get info about ftp file
zip = zipfile.Zipfile(fpath, mode='r')
# doesn't matter if I use     
#zip = zipfile.Zipfile(fpath, mode='w')
#or zip = zipfile.Zipfile(fpath, 'wb')
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

zip = zipfile.Zipfile(fpath, mode='r')

NameError: 名称 'zipfile' 未定义

如果我只使用 import zipfile 我会收到这个错误:

类型错误:“模块”对象不可调用

Jea*_*bre 8

两种修复方法:

1)使用from,在这种情况下删除zipfile命名空间:

from zipfile import *
#set filename
fpath = '{}_{}_{}.zip'.format(strDate, day, week)

#use zipfile to get info about ftp file
zip = ZipFile(fpath, mode='r')
Run Code Online (Sandbox Code Playgroud)

2)使用 direct import,在这种情况下,像你一样使用完整路径:

import zipfile
#set filename
fpath = '{}_{}_{}.zip'.format(strDate, day, week)

#use zipfile to get info about ftp file
zip = zipfile.ZipFile(fpath, mode='r')
Run Code Online (Sandbox Code Playgroud)

并且您的代码中有一个偷偷摸摸的错字:Zipfile应该是ZipFile(capital F,所以我觉得回答有点不好......

所以得到的教训是:

  • 避免from x import y因为编辑更难完成单词
  • 如果有合适import zipfile的编辑和建议完成的编辑,您一开始就不会遇到这个问题。