0

多くの sys.exit() および raw_input() コマンドを含むスクリプトがあります。無限ループでラップしたいです。forever.py は、Windows のアイドル状態から実行されています。以下のコードのようなものですが、動作しません。1 台のマシンで python コンソール ウィンドウが点滅しています (プロセス python を開始する無限ループ、正当なようです) が、出力がありません。どうすればよいでしょうか?

モジュール to_be_wrap.py:

import sys

def main():
    print('start')
    raw_input('any key')
    sys.exit(0)
    print('end')

モジュールforever.py:

import subprocess as subp
def forever():
    while 1:
        try:
            cmd = ['python', 'to_be_wrap.py']
            print subp.check_output(cmd)
        except Exception as e:
            print e
forever()
4

2 に答える 2

0

main() メソッドは今のところ何も役に立たないようですが、REPL ( read-eval-print loop ) に似たものを作成しているようです。

このブログ投稿では、かなり厳格なアプローチについて説明しています。この要点(前述のブログ投稿の一部) は REPL の「コア」を示していますが、読み取りおよび評価ロジックの実装はあなたに任せます。

于 2012-10-29T09:33:10.947 に答える