我想在 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/