Python学习:终于压缩成功了!

来源:互联网 发布:windows讲述人 编辑:程序博客网 时间:2024/06/05 17:22

在看简明Python文档时,有一个程序练习,让压缩一个文件

一开始完全看不懂。复制过来一运行,cmd显示 zip不是批处理或可执行。说明代码对,但zip命令不对。

上网搜才明白是我的windows里没有zip。

后又看到一人用rar来压缩,就有去找winrar。也渐渐明白程序中各变量的意义

安好winrar后,path总是设不对,正好无意间又看到有人用windows自带的压缩解压命令处理文件,救试了一试。


makecab source target[zip]  成功!

expand source[zip] target  成功!

再看代码

zip_command = "zip -qr '%s' %s" % (target,' '.join(source))

问题出在这句,无非就是把cmd命令给了zip_command这个变量嘛。

我把zip -qr 改成makecab就可以啦嘛。

于是cmd不提示找不到命令了。却找不到文件。

反正也是把target source传给%s 和%s

直接简化!

zip_command = "makecab %s %s" % (source,target)

一目了然。再一运行,还是找不到文件!

找不到就试,试了几次发现问题。cmd 的提示是

ERROR:Could not find file:['w:\\important.txt']

哈,原来是中括号没去掉。

回看代码,我把source直接传给%s 可source定义成序列了呀。直接传自然有中括号

source=['w:\\important.txt']

所以这里还是要用下表运算符指出source中的哪一个元素,即使它只有一个元素。

最终改为

zip_command = "makecab %s %s" % (source[0],target)

Nice!'Successful backup to w:\beifen.zip!

附上源码:

import osimport timesource= ['w:\important.txt']target_dir='w:\\'target=target_dir+'beifen'+'.zip'zip_command="makecab %s %s" % (source[0],target)if os.system(zip_command)==0:print 'Successful backup to',targetelse:print 'backup failed'







0 0
原创粉丝点击