python - 如何在不锁定执行文件夹的情况下从 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 脚本本身的文件夹吗?这听起来有点粗略。
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)
推荐阅读
- sql - 节点不工作
- powerbi - 以 hh:mm:ss 为单位的 PowerBi 持续时间计算
- c++ - Cython:共享对象中的未定义符号
- r - 在我的函数包 R 中修复编码 UTF-8 的最佳方法
- node.js - 我在 node.js rest api 创建中的 request.body 未定义
- python - 删除重复的 seq 名称 pandas
- python - Django - 渲染一个存储在数据库字段中的变量
- angular - Angular 5 + angular-maps 必应地图
- javascript - 将 json 转换为 csv 但使用 javascript 将子项分成自己的行
- python - 根据您在 Python 中处理的最后一个节点导航 XML