我一直在研究一个应用程序,该应用程序从脚本中产生一个编辑器,该脚本可帮助实时编辑文件并保存(在脚本执行过程中)。
当我使用 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打开。
行为背后的原因是什么?