pyhton system 使用7z解压和压缩

#coding:utf-8
import os  
'''
环境:windows10 
压缩工具:7z.exe
实现语言:python
语言版本:2.7
*****网上提供了一堆坑人的解压方法,本想省点事快速搞定 奶奶个腿的  都怪自己太懒反倒浪费了更多时间****
这里只针对压缩和解压缩文件
在这里遇到的主要麻烦就是含有空格的路径的处理比较麻烦,开始找了很久都没有搞定
参考:http://www.docin.com/p-631199577.html 虽然是关于C#解压 但是方法都相同,
没有细看只看了自己需要的
压缩:
压缩的时候chdir最好切到需要压缩的文件夹下,不然cmd会很长,切记在遇到空格的时候使用双引号括起来
如果文件发生变动,那么再次压缩的时候7z会自动更新
解压缩
解压缩的时候chdir最好切到7z.exe目录下,这样相对而言cmd会短一些,也会避免一些错误
如果解压命令使用 “e” 将失去目录关系
 -aos -r :表示如果已经被解压就不再解压并且不询问。
 解压缩,如果被解压的文件发生变动,解压缩元旦发现已经有需要解压的同名文件夹则不会更新直接跳过不解压
 如果有方法请留言告知 谢谢
'''
sign=False;#标记是解压还是压缩
if sign:
folder_name=r"C:\xxxxxxxxxxx\New folder";\\需要压缩的文件位置
os.chdir(folder_name)#切换到相应的目录下
#压缩
#1.txt 2.txt是folder_name目录需要压缩的文件列表
#C:\\xxxxxxxxxxx\\\"New folder\"\\c.7z 存储位置及压缩文件的名称
cmd = r"C:\\\"Program Files\"\\7-Zip\\7z.exe a C:\\xxxxxxxxxxx\\\"New folder\"\\c.7z 1.txt 2.txt";
print cmd;
os.system(cmd)
else:
folder_name=r"C:\Program Files\7-Zip"#7z.exe位置
os.chdir(folder_name)
# 解压
rar_path = "C:\\xxxxxxxxxxx\\New folder (2)\\c.rar";
un_path,name = os.path.splitext(rar_path);
un_path = '"{}"'.format(un_path);
cmd = '7z.exe x "{}" -o{} -aos -r'.format(rar_path,un_path);
print cmd;
os.system(cmd)




























评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值