私はUbuntuでeSpeakを使用していて、メッセージを出力して話すPython 2.7スクリプトがあります。
import subprocess
text = 'Hello World.'
print text
subprocess.call(['espeak', text])
eSpeakは目的のサウンドを生成しますが、いくつかのエラー(ALSA lib ...、ソケット接続なし)でシェルを乱雑にするため、以前に印刷されたものを簡単に読み取ることができません。終了コードは0です。
残念ながら、その冗長性をオフにする文書化されたオプションはないので、それを視覚的にのみ沈黙させ、オープンシェルをクリーンな状態に保ち、さらに対話する方法を探しています。
これどうやってするの?
それでは、os.systemで呼び出すことはできませんか?理想的ではないが印刷すべきではない
—
ジョランビーズリー
@JoranBeasley:シェルコマンドをリダイレクトしない限り、os.system()はコンソールに出力します
—
jdi
いいえ、os.system( 'espeak' + text)はこの動作を再現します。
—
リペル
@ferkulat:
—
-jdi
os.system
構文も表示するように回答を更新しました。あくまでも例です。サブプロセスに固執する
2.7固有ではないバージョン:stackoverflow.com/questions/5495078/…完全な
—
Ciro Santilli郝海东冠状病六四事件法轮功
subprocess.DEVNUL
ソリューションを可能にします。