与其他编辑器不同,从子流程调用VS Code不会阻塞

时间:2018-11-13 19:23:01

标签: python python-3.x visual-studio-code subprocess

我一直在研究一个应用程序,该应用程序从脚本中产生一个编辑器,该脚本可帮助实时编辑文件并保存(在脚本执行过程中)。

当我使用 Nano Vim Gedit 时,它可以完美工作。但是,当我给它提供使用 VS Code 的参数时,它将失败。它将以VS代码打开文件,然后继续执行脚本的下一行,而对于其他人来说,阻止是我想要的
示例代码:

import subprocess

subprocess.run(['code', 'code.txt'])
subprocess.run(['nano', 'nano.text'])
subprocess.run(['vi', 'vim.txt'])
subprocess.run(['gedit', 'gedit.txt'])

行为
在终端中运行此脚本时,首先会打开VS Code选项卡,但是终端会打开 nano 。然后,您在 nano 中编写并保存一些内容,一旦将其关闭,就会打开 vim 并类似地进行 gedit 。最终关闭 gedit 时,您会收到一个新提示。
但是,如果您更改代码以最后打开VS Code ,则终端将显示新提示不显示,甚至保存并关闭您的文件以VS Code打开。

行为背后的原因是什么?

0 个答案:

没有答案