python小程序解决7-zip关闭后残留临时文件夹

7-zip默认的临时文件是系统的temp目录,在用7-zip打开一个压缩包中文件时,7-zip就会把这个文件解压到temp文件夹中生成一个随机命名的文件夹存放该文件,然后调用该文件相关联的程序打开文件,正常情况下在关闭这个压缩包时,temp中的这个临时文件夹也会自动删除,但据我观察,有很多情况下在关闭7-zip后仍会残留部分文件夹, 这些文件夹比较占空间,如果原来的压缩包是加密的话,那对应的临时文件就可能在temp文件夹找到,这可不妙,如果电脑有别人在操作,可能会泄露一些秘密。于是我想到了用python解决这个问题,当然只是规避,这个程序的功能就是删除指定文件夹下所有7-zip临时文件。配合计划任务使用,比如设置1小时执行一次,可以起到机器中不保留7-zip残留临时文件的功能。

废话有点多了,上代码吧:

import os
import shutil

#Delete Temp Directorys  that create by 7zip.
for path,dirs,files in os.walk("C:\\Users\\xy\\AppData\\Local\\Temp"):
    for dir in dirs:
        counter = 0
        if dir.find("7z") == 0 and dir.find(".tmp",-4) != -1:
            try:
                commandstr = "rd /s /q " + path + "\\" + dir
                print commandstr
                os.system(commandstr) 
                counter+=1
            except WindowsError,err:
                print 'Encounter WindowsError: ',err
    print "Successfully delete %d directorys"%counter
    exit(0)
print 'Maybe encounter some errors.'

发表评论

电子邮件地址不会被公开。 必填项已用*标注