繁体   English   中英

subprocess.Popen['vim'] 在交互式 Python session 中产生有趣的结果

[英]subprocess.Popen['vim'] in an interactive Python session yields interesting results

输入 python shell

然后输入

import subprocess
subprocess.Popen("vim")

然后 vim window 打开。 尝试使用:q 退出 vim,然后尝试输入交互式 session。

看起来 vim 并没有真正退出。 好像我同时在 vim 和 Python shell。

为什么会这样?

我知道我可以通过运行 subprocess.call 或 Popen.communicate() 等来避免这种情况,我只是想知道究竟发生了什么。

似乎在 Popen 中运行 vim 后使用:q 退出它仍然保持运行。

Popening vim 退出后乱七八糟的图片

Popen的文档:

使用默认设置None ,子文件句柄将从父文件继承。

所以pythonvim同时从同一个文件读取。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM