感觉像个笨蛋。我正在尝试与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')
我收到此错误
zip = zipfile.Zipfile(fpath,mode ='r')
NameError:名称'zipfile'未定义
如果我只使用import zipfile,我会收到此错误:
TypeError:'module'对象不可调用
答案 0 :(得分:4)
两种解决方法:
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
和一个建议完成的编辑,你一开始就不会遇到这个问题。答案 1 :(得分:1)
使用Python压缩文件的最简单方法:
import zipfile
zf = zipfile.ZipFile("targetZipFileName.zip",'w', compression=zipfile.ZIP_DEFLATED)
zf.write("FileTobeZipped.txt")
zf.close()