好的,所以我的google-fu真的很烂,我找不到答案,希望你们能帮助我^_^
好的,所以我认为一个简单的脚本似乎无法正确地与其子进程通信,我正在逐行运行。我也在用mpg123播放器,这是一个Linux系统(嗯,树莓派)
from subprocess import Popen, PIPE, STDOUT
p = Popen(["mpg123", "-C", "test.mp3"], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
#wait a few seconds to enter this, "q" without a newline is how the controls for the player work to quit out if it were ran like "mpg123 -C test.mp3" on the command line
p.communicate(input='q')[0]
我可以在它上面运行 stdout.read() 就好了,但是使用通信输入只会让它挂起,而 p.stdin.write('q') 似乎什么也没做。这是与 python 相关的,尽管我觉得我也没有在 mpg123 文档中找到正确的位置。请善待,因为我对此非常陌生^_^