如何从 .exe 文件中删除以 python 编写的 .exe 文件?

How to delete a .exe file written in python from within the .exe file?

我正在尝试创建一个脚本,将 github 存储库克隆到当前目录,然后删除调用它的脚本。

脚本是python3.7.4写的,编译成exe。 我试过使用 'os.remove(sys.argv[0])' ,它在编译之前有效,但不适用于我的最终应用程序。 我也尝试了其他几种删除方法,但是 none 它们都有效,无论是否编译成 exe。

import os

def function:
    # code

def main():
    function()
    os.remove(sys.argv[0])

我希望在 运行 之后让 exe 像 .py 文件一样删除自己,但是我不知道执行此操作的实际方法。

您可以编写批处理文件以在执行后删除 python 文件,但我不确定这是否是个好主意。不过绝对有可能。

# C:\test.py
import os
os.startfile(r"C:\test.bat")

第一个批处理文件

TASKKILL /IM "process name" 
DEL "C:\test.py"