以编程方式从python中清除IE缓存

2024-06-28 19:23:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我看到了用于从命令行清除IE缓存的“命令行”选项,但无法从python中,甚至从msdos提示符中,以编程方式解决这个问题。以下是我从StackOverflow: clear cache of browser by command line找到的:

删除所有历史-RunDll32.exeInetCpl.cpl文件,ClearMyTracksByProcess 255

仅删除历史-RunDll32.exeInetCpl.cpl文件,ClearMyTracksByProcess 1

仅删除Cookies-RunDll32.exeInetCpl.cpl文件,ClearMyTracksByProcess 2

仅删除Internet临时文件-RunDll32.exeInetCpl.cpl文件,ClearMyTracksByProcess 8

仅删除表单数据-RunDll32.exeInetCpl.cpl文件,ClearMyTracksByProcess 16

仅删除密码历史记录-RunDll32.exeInetCpl.cpl文件,ClearMyTracksByProcess 32

所以我的问题是,如何将上面的“命令”转换成可以直接从python运行的子进程,例如,清除IE缓存。你知道吗


Tags: 文件命令行选项编程方式历史stackoverflowie
1条回答
网友
1楼 · 发布于 2024-06-28 19:23:14

这对我有用。只要把你不想要/不需要的命令注释掉就行了。你知道吗

import subprocess

commands = (
            "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255", # Deletes ALL History 
            "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1",   # Deletes History Only
            "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2",   # Deletes Cookies Only
            "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8",   # Deletes Temporary Internet Files Only
            "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16",  # Deletes Form Data Only 
            "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32",  # Deletes Password History Only
            )

for command in commands:
    with subprocess.Popen(command) as p:
        p.wait()
        print(f"{p.returncode} - {command}")

相关问题 更多 >