python - 在python中运行命令后输入返回键的同步方式?

标签 python

我想在 shell 中运行一个命令。我们都知道我们可以使用 os.system()。但是这个命令必须需要按回车键才能完成这个命令。

现在我这样做:

 from subprocess import Popen, PIPE
 Popen(my_cmd.split(), stdin=PIPE).stdin.write('\n')

但它是异步的。我想知道,是否可以使用 os.system() 或一些简单的方法来实现它。

最佳答案

os.system()虽然没有被弃用,但被许多人认为是多余的。可以使用它完成的所有事情都可以使用 subprocess 完成以及。

如果您不喜欢您的程序和另一个进程同时运行的事实(我认为这就是异步的意思),您可以这样做

from subprocess import Popen, PIPE
sp = Popen(my_cmd.split(), stdin=PIPE)
sp.stdin.write('\n')
sp.wait()

最后这个 .wait() call 使子进程调用“有点同步”。

关于python - 在python中运行命令后输入返回键的同步方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587135/

相关文章:

python - 如何在matplotlib条形图中打开科学记数法?

python - 没有名为 'mlxtend' 的模块

python - 如何导出带有目录和可折叠标题的独立 (HTML) Jupyter 笔记本

python - Golang 中的并发服务器

python - 配对嵌套列表中的元素

python - “assert False”和 “self.assertFalse”有什么优势或区别

python - 如何连接从api下载的json文件?

python - 引用pymysql中的记录来搜索一下

python - 将 24 位音频样本放入 int32 数组中(小端 WAV 文件)

python - 如何在 matplotlib 中使用 latex 创建 'normal' 外观轴标签