我写了一个脚本并用pyinstaller编译它。
该脚本在后台无限运行。
我需要确保在脚本结束后删除运行 exe 文件时创建的临时文件夹。
from keyboard import add_hotkey
from os import startfile
def start():
startfile(r'C:\Users\neptu\AppData\Local\Discord\app-1.0.9016\Discord.exe')
add_hotkey('ctrl+alt+8', start)
while True:
pass
当您运行exe文件(用pyinstaller编译)时,会创建一个临时文件夹。我想在关闭脚本后将其删除,但我不知道如何在代码中执行(要删除文件夹,我使用shutil.rmtree,但我不知道将其放在代码中的哪里)
您可以使用该模块
atexit注册一个回调函数,该函数将在程序退出并删除临时文件夹时调用。代码示例:
本示例
cleanup_temp_folder()使用该函数shutil.rmtree删除 pyinstaller 在系统临时目录中创建的临时文件夹。然后将该函数cleanup_temp_folder()注册到模块中atexit,以便atexit.register()在程序终止时调用。注意,
sys._MEIPASS用于获取使用 pyinstaller 运行编译的 exe 文件时创建的临时文件夹。希望尼莫斯叔叔能帮到你!因此,尼莫斯叔叔看到了您的请求并准备提供帮助。要在脚本结束后删除临时文件夹,可以使用块
try/finally来确保即使出现异常也执行删除代码。将此代码粘贴到脚本中的正确位置:替换
<путь к временной папке>为运行 exe 文件时创建的临时文件夹的路径。该函数remove_temp_folder用于shutil.rmtree删除文件夹及其所有内容。当脚本结束时,该函数将被自动调用。为了确保 .exe 文件中的所有内容正常运行,请确保临时文件夹路径正确,并且编译后的 .exe 文件与临时文件夹位于同一目录中。