python脚本解多层嵌套压缩包

作者: 分类: *nix 时间: 2016-08-13 评论: 暂无评论

晚上看到一个题,一个文件,用file看了一下是7z压缩过的压缩包,手动解压缩发现是多层嵌套

doll.png

之后就写了个脚本来跑,但是发现文件名太长了不能打开:

filenametoolong.png

想了一下每次解压出来就重命名成短文件名就可以了,最后跑出来根据统计有1000个文件,就是嵌套了1000层 : )

end.png

下面是脚本的代码:

import os
total=0
while(True):
    total+=1
    f=os.listdir('/Users/ifuryst/Downloads/temp')
    temp=f[0]
    os.system('/bin/mv /Users/ifuryst/Downloads/temp/'+temp+' /Users/ifuryst/Downloads/temp/data')
    temp='data'
    flag=os.system('/usr/local/bin/7z x /Users/ifuryst/Downloads/temp/'+temp+' -o/Users/ifuryst/Downloads/temp')
    #if in *nix also can use /if flag!=512:/
    if flag==0:
        os.system('/bin/rm -f /Users/ifuryst/Downloads/temp/'+temp)
    else:
        break
print("Total %d files!"%total)

标签: Python

声明:文章基本原创,允许转载,但转载时必须以超链接的形式标明文章原始出处及作者信息。

添加新评论