首页 > 解决方案 > 如何在不锁定执行文件夹的情况下从 Python 启动进程?

问题描述

在打开这个问题之前,我正在查看类似的问题,但它的答案在这种情况下不起作用。开始该过程后,我想删除脚本文件夹,但不能。我的代码:

from subprocess import Popen

DETACHED_PROCESS = 0x00000008
CREATE_NEW_PROCESS_GROUP = 0x00000200

app = r"C:\Windows\notepad.exe"

Popen(app, creationflags=DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP, close_fds=True)

运行脚本后,我想删除脚本文件夹,我得到:

在此处输入图像描述

只有关闭该过程,我才能删除该文件夹。您对如何在不锁定脚本文件夹的情况下启动该过程有任何建议吗?

标签: python

解决方案


您的意思是要删除包含 python 脚本本身的文件夹吗?这听起来有点粗略。

me = os.path.abspath(sys.argv[0])
where = os.path.dirname(me)
args = ['cmd.exe', '/C', 'rd', '/S', '/Q', where]
Popen(args, creationflags=DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP, close_fds=True)

推荐阅读