您的位置:首页 > 编程语言 > Python开发

pyhton system 使用7z解压和压缩

2018-03-22 11:48 447 查看
#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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 7z 压缩 解压缩 cmd