Python压缩文件遇到的问题

1、问题
用Python压缩文件,代码如下:
  1. import os
  2. import time
  3. source = ['C://Test1','C://Test2']
  4. target_dir = 'C://TestResult//'
  5. target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.7z'
  6. zip_command = "7z a %s %s" % (target,' '.join(source))
  7. if os.system(zip_command) == 0:
  8.     print 'Successful backup to'
  9. else:
  10.     print 'Backup Failed'
rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C02%5Cclip_filelist.xml">

加入7z 的路径的环境变量PATHC:/Program Files/7-Zip, 运行总是报错。直接将命令改为zip_command = " C:/Program Files/7-Zip /7z a %s %s" % (target,' '.join(source))也不行。

2、解决办法

经过查资料发现,7z的路径中有Program Files, Python不能识别它,所以解决办法有两个:

1)  7z 的路径的环境变量PATH改为:C:/Progra~1/7-Zip

2)  直接将命令改为zip_command = " C:/Progra~1/7-Zip /7z a %s %s" % (target,' '.join(source))

3、原因

造成这种原因是因为,dos下只支持8.3文件名规格,都过的都会以~1结尾。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值