2016-12-12 127 views
2

感觉像一个笨蛋。我试图与一个zip文件交互,似乎无法使用zipfile库。相当新的蟒蛇无法导入python库'zipfile'

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') 

如果我只是用进口压缩文件我得到这个错误,我得到这个错误

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

NameError: name 'zipfile' is not defined

TypeError: 'module' object is not callable

+0

with'from zipfile import *',你必须使用没有前缀的'ZipFile'。对于另一个错误,我认为有一个错误的地方,它应该工作(你打电话给你的文件'zipfile.py'?这不是一个好主意) –

+0

如果我不使用前缀我得到:NameError:名称'zipfile'未定义 –

+0

我无法继续聊天,因为我的防火墙不允许在这里,但我想你说“谢谢你的工作”:)这很好! –

回答

3

两种方式来解决这个问题:

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') 

2)使用直接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') 

,并有一个在你的代码偷偷摸摸错字:Zipfile应该ZipFile(资本F,所以我感觉回答稍差......

所以得到的教训是:

  • 避免from x import y,因为编辑难以用词
  • 和合适的import zipfile以及一个提议完成的编辑器来完成,所以您永远不会有这个问题。
+0

我剥夺了我所有的代码,并从zip文件导入*' '#SET filename' 'fpath使用以下 '=“C:\\ \\用户\\ Databoe下载\\ 20161206_Tue_49.zip' '#use zipfile获取关于ftp文件的信息' 'zip = Zipfile(fpath,mode ='r')' 'zip.getinfo()' 'zip.close' 这给了我错误:“NameError :name'Zipfile'未定义' –

+0

和AttributeError:'module'对象没有属性'Zipfile' 当我使用'import zipfile'和'zipfile.Zipfile'时 –

+0

没有调用你的模块'zipfile.py'偶然? –