国产精自产拍久久久久久蜜,国产成人av综合亚洲色欲,久久久亚洲AV无码精品一区,超碰在线人人人

蜻蜓手游網(wǎng),分享真實精致軟件資源!

微信緩存自動清理工具 1.0 Python版

  • 微信緩存自動清理工具
  • 大。

    7.3M
  • 時間:

    2021-06-15 15:49
  • 語言:

    中文
  • 版本:

    1.0 Python版
  • 等級:

    4級
  • 平臺:

    Windows
  • 類別:

    官方版/ 免費 /其他軟件
  • 官網(wǎng):

    暫無
  • 廠商:

  • 備案號:

好評:50%
壞評:50%
掃描二維碼下載到手機
微信緩存自動清理工具1.0 Python版截圖0

微信緩存自動清理工具介紹

相信很多小伙伴都知道,軟件在使用的過程中都會產(chǎn)生緩存數(shù)據(jù)的,而且長期不清理會導(dǎo)致占用空間越來越大,可能影響電腦的運行速度,我們常用的微信也是這樣,微信緩存自動清理工具采用python語言編寫,不需要安裝,支持自動清理微信所產(chǎn)生的緩存,并且不會刪除重要數(shù)據(jù)。

微信緩存自動清理工具

微信緩存自動清理工具特色

自動通過注冊表、微信配置文件和手動輸入判斷企業(yè)微信和微信的緩存目錄,并自動清理不重要數(shù)據(jù)

微信緩存自動清理工具代碼

import os

import re

from time import sleep

import shutil

import winreg

from pathlib import Path

import configparser

 

# 記錄一下所有垃圾的總大小

total_trash_size = 0

 

def get_reg_dir(software):

    if software == "微信":

        try:

            string = r'SOFTWARE\Tencent\WeChat'

            handle = winreg.OpenKey(winreg.HKEY_CURRENT_USER, string, 0, (winreg.KEY_WOW64_64KEY + winreg.KEY_READ))

            location, _type = winreg.QueryValueEx(handle, "FileSavePath")

            return location

 

        except :

            return False

    elif software == "企業(yè)微信":

        try:

            string = r'SOFTWARE\Tencent\WXWork'

            handle = winreg.OpenKey(winreg.HKEY_CURRENT_USER, string, 0, (winreg.KEY_WOW64_64KEY + winreg.KEY_READ))

            location, _type = winreg.QueryValueEx(handle, "DataLocationPath")

            return location

 

        except :

            return False

 

def get_software_dir(software):

    if software == "微信":

        if os.path.exists('D:/wx_path.ini'):

            try:

                cf = configparser.ConfigParser()

                cf.read('D:/wx_path.ini',encoding='utf-8')

                wx_path = cf.get("weixin","wx_path")

                return Path(wx_path)

            except Exception as e:

                print(e)

                if Path(Path.home() / "Documents" / "WeChat Files").is_file():

                    wx_path = Path(Path.home() / "Documents" / "WeChat Files")

                    return Path(wx_path)

                 

                if os.path.exists(Path.home() /'AppData'/'Roaming'/'Tencent'/'WeChat'/'All Users'/'config'/'3ebffe94.ini'): 

                    try:

                        with open(Path.home() /'AppData'/'Roaming'/'Tencent'/'WeChat'/'All Users'/'config'/'3ebffe94.ini', "r") as f:  # 打開文件

                            wx_path = Path(str(f.read())+"/WeChat Files")   # 讀取文件

                        if os.path.exists(wx_path):

                            return wx_path

                    except Exception as e:

                        print(e)

                 

                if os.path.exists(Path.home() /'AppData'/'Roaming'/'Tencent'/'WeChat'/'All Users'/'config'/'b928cd74.ini'):

                    try:

                        with open(Path.home() /'AppData'/'Roaming'/'Tencent'/'WeChat'/'All Users'/'config'/'b928cd74.ini', "r") as f:  # 打開文件

                                wx_path = Path(str(f.read())+"/WeChat Files")   # 讀取文件

                        if os.path.exists(wx_path):

                            return wx_path

                    except Exception as e:

                        print(e)

                 

                if get_reg_dir("微信"):

                    return Path(get_reg_dir("微信"))

                wx_path = Path(input("未找到微信緩存目錄!請手動輸入:"))

                os.chdir('D:/')

                cf = configparser.ConfigParser()

                cf.add_section("weixin")

                cf.set("weixin","wx_path",str(wx_path))

                with open('D:/wx_path.ini',"a") as f:

                    cf.write(f)

                return Path(str(wx_path))

        else:

            Path('D:/wx_path.ini').touch()

            wx_path = Path(input("未找到微信緩存目錄!請手動輸入:"))

            os.chdir('D:/')

            cf = configparser.ConfigParser()

            cf.add_section("weixin")

            cf.set("weixin","wx_path",str(wx_path))

            with open('D:/wx_path.ini',"a") as f:

                cf.write(f)

            return Path(str(wx_path))

 

 

     

    elif software == "企業(yè)微信":

        if os.path.exists('D:/wx_path.ini'):

            try:

                cf = configparser.ConfigParser()

                cf.read('D:/wx_path.ini',encoding='utf-8')

                qywx_path = cf.get("qyweixin","qywx_path")

                return Path(qywx_path)

            except Exception as e:

                print(e)

                if Path(Path.home() / "Documents" / "WXWork").is_file():

                    wkchat_dir = Path(Path.home() / "Documents" / "WXWork")

                    return wkchat_dir

                if get_reg_dir("企業(yè)微信"):

                    return Path(get_reg_dir("企業(yè)微信"))

                qywx_path = Path(input("未找到企業(yè)微信緩存目錄!請手動輸入:"))

                os.chdir('D:/')

                cf = configparser.ConfigParser()

                cf.add_section("qyweixin")

                cf.set("qyweixin","qywx_path",str(qywx_path))

                with open('D:/wx_path.ini',"a") as f:

                    cf.write(f)

                return Path(qywx_path)

        else:

            Path('D:/wx_path.ini').touch()

            qywx_path = Path(input("未找到微信緩存目錄!請手動輸入:"))

            os.chdir('D:/')

            cf = configparser.ConfigParser()

            cf.add_section("qyweixin")

            cf.set("qyweixin","qywx_path",str(qywx_path))

            with open('D:/wx_path.ini',"a") as f:

                cf.write(f)

            return Path(qywx_path)

 

 

def remove_wxtrash():

    """刪除微信的所有緩存"""

    global total_trash_size

    # 找到微信的存儲目錄

    wechat_dir = get_software_dir("微信")

    print(wechat_dir)

    # 記錄所有垃圾文件和文件夾的路徑,用來之后進(jìn)行刪除

    trash_list = []

 

    print('開始掃描微信的緩存文件...')

    print('=' * 30)

    # All Users 目錄存儲了所有登錄過的用戶使用過的頭像

    trash_list.extend(find_trash(Path(os.environ.get('USERPROFILE') +'/AppData/Local/Temp'), title='系統(tǒng)緩存文件'))

    trash_list.extend(find_trash(wechat_dir / "All Users", '*', '已登錄過用戶的頭像圖片'))

    # Applet 目錄存儲了所有小程序的緩存

    trash_list.extend(find_trash(wechat_dir / "Applet", '*', '公用小程序緩存'))

    # 獲取所有登錄過的用戶產(chǎn)生的緩存文件

    for d in wechat_dir.iterdir():

        if d.name not in ['Applet', 'All Users']:

            try:

                name = re.split("\\\\",str(d))[-1]

                print(f'{name} 的目錄下,共發(fā)現(xiàn):')

            except :

                pass

            trash_list.extend(find_trash(d / 'Applet', title='小程序緩存',indent=1))

             

            # Attachment,Backup,BackupFiles,CustomEmotions 都是空的

            # Data 不知道干什么用的,但是不大,先不刪了

         

            # FavTemp 不知道是什么,但是應(yīng)該沒用,可以刪

            trash_list.extend(find_trash(d / 'FavTemp', title='其他緩存',indent=1))

         

            # 表情包文件緩存

            trash_list.extend(find_trash(d / 'CustomEmoV1', title='表情文件緩存'))

             

            trash_list.extend(find_trash(d / 'ResUpdate', title='未知垃圾文件',indent=1))

             

            trash_list.extend(find_trash(d / 'ResUpdateV2', title='其他垃圾文件',indent=1))

             

            # Image, Video, Files 都是空的

            # 其下是以形如 2020-06 的文件夾存儲的各種圖片縮略圖緩存文件

            trash_list.extend(find_trash(d / 'FileStorage' / 'Cache', title='縮略圖文件',indent=1))

            # 又又又一個表情圖片緩存

            trash_list.extend(find_trash(d / 'FileStorage' / 'CustomEmotion', title='自定義表情文件緩存',indent=1))

            # 下載到本地的文件

            trash_list.extend(find_trash(d / 'FileStorage' / 'File', title='已下載文件',indent=1))

            # 未知緩存文件,在微信運行中被占用,無法刪除

            trash_list.extend(find_trash(d / 'FileStorage' / 'Fav', title='未知文件',indent=1))

            # 圖片文件

            trash_list.extend(find_trash(d / 'FileStorage' / 'Image', title='圖片數(shù)據(jù)文件',indent=1))

            # 視頻文件

            trash_list.extend(find_trash(d / 'FileStorage' / 'Video', title='視頻文件',indent=1))

            # 表情包圖標(biāo)文件

            trash_list.extend(find_trash(d / 'FileStorage' / 'General' / 'Data', title='表情圖標(biāo)文件',indent=1))

            # 高清頭像圖片

            trash_list.extend(find_trash(d / 'FileStorage' / 'General' / 'HDHeadImage', title='高清頭像圖片',indent=1))

            # ResUpdate 里面只有損壞的壓縮包,不知道是干什么用的,但肯定沒卵用

 

    print('=' * 30)

    print(f'總垃圾大。簕total_trash_size:.3f} MB')

 

    # print('請注意,以上垃圾包含所有下載(點開)過的圖片、視頻、文本文件,請謹(jǐn)慎刪除!')

    # user_input = input('是否清除全部垃圾?y(es)/n(o) > ')

    # if user_input.lower() not in ['y', 'yes']:

    #     return

     

    print('開始清理垃圾...')

    for p in trash_list:

        if not remove_file_or_folder(p):

            print(p)

            total_trash_size -= get_size(p)

    print(f'本次共清理微信垃圾 {total_trash_size:.3f} MB')

 

 

 

 

 

def remove_wktrash():

    """刪除企業(yè)微信的所有緩存"""

    global total_trash_size

    # 找到微信的存儲目錄

    wkchat_dir = get_software_dir("企業(yè)微信")

    print(wkchat_dir)

    # 記錄所有垃圾文件和文件夾的路徑,用來之后進(jìn)行刪除

    trash_list = []

 

    print('開始掃描企業(yè)微信的緩存文件...')

    print('=' * 30)

    # All Users 目錄存儲了所有登錄過的用戶使用過的頭像

     

    for d in wkchat_dir.iterdir():

        try:

            name = re.split("\\\\",str(d))[-1]

            print(f'{name} 的目錄下,共發(fā)現(xiàn):')

        except :

            pass

        trash_list.extend(find_trash(d / "Avator", '*', '已登錄過用戶的頭像圖片',indent=1))

 

        # Applet 目錄存儲了所有小程序的緩存

        trash_list.extend(find_trash(d / "Cache", '*', '緩存',indent=1))

         

        trash_list.extend(find_trash(d / "Emotion", '*', '表情包',indent=1))

         

        trash_list.extend(find_trash(d / "WeDrive", '*', '網(wǎng)盤文件',indent=1))

    print('=' * 30)

    print(f'總垃圾大。簕total_trash_size:.3f} MB')

 

    # print('請注意,以上垃圾包含所有下載(點開)過的圖片、視頻、文本文件,請謹(jǐn)慎刪除!')

    # user_input = input('是否清除全部垃圾?y(es)/n(o) > ')

    # if user_input.lower() not in ['y', 'yes']:

    #     return

     

    print('開始清理垃圾...')

    for p in trash_list:

        if not remove_file_or_folder(p): 

            print(p)

            total_trash_size -= get_size(p)

    print(f'本次共清理企業(yè)微信垃圾 {total_trash_size:.3f} MB')

 

 

 

def find_trash(d: Path, glob='*', title='緩存', indent=0):

    """獲取某個垃圾文件夾的信息"""

    if not d.exists():

        return []

    global total_trash_size

    total_size = 0

    trash_list = []

    for p in d.glob(glob):

        total_size += get_size(p)

        trash_list.append(p)

    # 如果傳入 title 為空,則不輸出信息,僅記錄垃圾文件的路徑

    if not title:

        return trash_list

    # 開頭的縮進(jìn)

    if indent > 0:

        title = '\t' * indent + title

    # 輸出信息

    print(f'{title}:{total_size:.3f} MB')

    total_trash_size += total_size

    return trash_list

 

 

def remove_file_or_folder(p: Path):

    """刪除文件或文件夾"""

    try:

        if p.is_file():

            p.unlink()

        elif p.is_dir():

            shutil.rmtree(p.absolute())

        else:

            # 見鬼去吧

            pass

        return True

    except:

        print(f'無法刪除 {p.absolute()}')

        return False

 

 

def get_size(p: Path):

    """獲取一個文件或文件夾的大小"""

    # 如果是文件

    if p.is_file():

        return p.stat().st_size / 1048576  # 以 MB 為單位

    # 如果是文件夾

    elif p.is_dir():

        # 獲取其下所有文件的大小之和

        return sum([get_size(f) for f in p.rglob('*') if f.is_file()])

    # 我不知道除了文件和文件夾以外還有別的什么類型,但是如果有,讓它見鬼去吧

    return 0

 

 

if __name__ == "__main__":

    remove_wxtrash()

    sleep(5)

    remove_wktrash()

    sleep(20)

什么是緩存?

緩存指在下載過程中暫時存放數(shù)據(jù)的一塊內(nèi)存區(qū)域。緩存能夠有效的避免程序?qū)τ脖P進(jìn)行頻繁地寫操作。是指臨時文件交換區(qū),手機把最常用的文件從存儲器里提出來臨時放在緩存里,就像把工具和材料搬上工作臺一樣,這樣會比用時現(xiàn)去倉庫取更方便。因為緩存往往使用的是RAM,斷電即掉的非永久儲存,所以在忙完后還是會把文件送到手機存儲器里。緩存能夠有效的避免電驢程序?qū)τ脖P進(jìn)行頻繁地寫操作,因為當(dāng)你設(shè)置了緩存以后,只有暫存的數(shù)據(jù)達(dá)到指定大小以后才會被寫入硬盤。

應(yīng)用信息

其他版本

猜你喜歡

    熱門評論

    最新評論

    發(fā)表評論查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)

    最新合集