2016-07-27 6 views
0

Emacsシェルモードに出力を表示させる方法はありますか?前のコマンドが終了するのを待つ代わりに、出力を表示する方法はありますか?例えばEmacsシェルモードでstdoutをReceivedとして表示

python -c "import time; print 'hello'; time.sleep(3); print '...goodbye'" 

が3秒間停止し、同じ時刻に「こんにちは」と「...さよなら」印刷されます。私は "こんにちは"を印刷し、3秒待ってから "...さよなら"を印刷しようとしています。

私は、Windows 7上のEmacs 25.0.93.1を実行しているが

答えて

0

私は何が起こっていることは「hello」を出力バッファで立ち往生され、プログラムが終了するまで出力(またはバッファを得ないということであると信じてもっといっぱいになる)。これはまた、bashコンソールウィンドウ(emacs外)でコードを実行したときにも発生しました。

sys.stdout.flush()を使用して手動で出力バッファをフラッシュすると、バッファ( "hello")内のテキストがすぐに表示されます。

私は(私ものpython3構文にprint文を変換注意)ESHELL、Emacsのシェルで、次のコードをテストし、長期モード:

python -c "import time; import sys; print ('hello'); sys.stdout.flush(); time.sleep(3); print ('...goodbye')" 
+0

はsys.stdout.flush()、完全に感謝を働きました! – nslamberth

関連する問題