我正在编写一个脚本,它将自动更新已安装的Calibre版本.目前我已经下载了最新的便携版本.我似乎无法保存zipfile.目前我的代码是:
import urllib2
import re
import zipfile
#tell the user what is happening
print("Calibre is Updating")
#download the page
url = urllib2.urlopen ( "http://sourceforge.net/projects/calibre/files" ).read()
#determin current version
result = re.search('title="/[0-9.]*/([a-zA-Z\-]*-[0-9\.]*)', url).groups()[0][:-1]
#download file
download = "http://status.calibre-ebook.com/dist/portable/" + result
urllib2.urlopen( download )
#save
output = open('install.zip', 'w')
output.write(zipfile.ZipFile("install.zip", ""))
output.close()
Run Code Online (Sandbox Code Playgroud)
你不需要使用zipfile.ZipFile它(以及你使用它的方式,以及也urllib2.urlopen有问题).相反,您需要将urlopen结果保存在变量中,然后read将该输出写入.zip文件.试试这段代码:
#download file
download = "http://status.calibre-ebook.com/dist/portable/" + result
request = urllib2.urlopen( download )
#save
output = open("install.zip", "w")
output.write(request.read())
output.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11039 次 |
| 最近记录: |