我在Ubuntu上使用eSpeak,并且有一个Python 2.7脚本可以打印和显示一条消息:
import subprocess
text = 'Hello World.'
print text
subprocess.call(['espeak', text])
eSpeak产生所需的声音,但由于一些错误(ALSA lib ...,没有套接字连接)而使外壳混乱,因此我无法轻松读取之前打印的内容。退出代码为0。
不幸的是,没有记录的选项可以关闭其详细信息,因此我正在寻找一种方法,仅在视觉上使其静音并保持打开的外壳干净以进行进一步的交互。
我怎样才能做到这一点?
那你不能只用os.system打电话吗?不理想,但我不认为应该打印
—
Joran Beasley 2012年
@JoranBeasley:os.system()将打印到控制台,除非您重定向shell命令
—
jdi 2012年
不,os.system('espeak'+ text)重现此行为。
—
rypel 2012年
@ferkulat:我更新了答案以显示
—
jdi 2012年
os.system
语法。虽然只是为了说明。坚持子流程
非2.7特定版本:stackoverflow.com/questions/5495078/…,它提供了理想的
—
西罗Santilli郝海东冠状病六四事件法轮功
subprocess.DEVNUL
解决方案。