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

在看简明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 os
import time


source= ['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',target
else:
	print 'backup failed'







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值