我在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解决方案。