有没有办法在一个进程中使用subprocess打开多个文件?
- 论坛
- 有没有办法在一个进程中使用subprocess打开多个文件?
17 浏览
匿名的
0 Comments
有时候我们需要在一个进程中同时打开多个文件,但是使用subprocess调用子进程时,只能打开一个文件。下面是一些关于如何解决这个的问题:
最简单的方法是在subprocess调用中添加shell=True参数,如下所示:
subprocess.call('taskkill /F /IM exename.exe', shell=True)
或者,如果你不需要等待子进程结束,可以使用subprocess.Popen而不是subprocess.call,如下所示:
subprocess.Popen('taskkill /F /IM exename.exe', shell=True)
这种方法很简洁,但是需要注意的是,在使用shell=True时可能会出现安全问题,因为用户可以操纵输入。
另一种方法是使用startupinfo技术,这种方法更加复杂,但是可以避免使用shell=True时可能出现的安全问题。
需要注意的是,如果使用shell=True,子进程可能无法感知到输入已经关闭的情况。