2

Windowsでは、Pythonスクリプトが終了すると、コマンドプロンプトウィンドウが閉じます。エラーが発生した場合は、何かを読み取る前に閉じます。私はこれを使用して、エラーが発生した場合でもウィンドウを開いたままにします。

if __name__ == '__main__':
    try:
        main()
    except BaseException as e:
        print('Error:')
        print(e)
        raise
    finally:
        raw_input('(Press <Enter> to close)')

main()を呼び出すと機能しますsys.exit()が、構文エラーなどの場合は機能しません。もっと良い方法はありますか?

4

2 に答える 2

4

あなたが持っているものは、ほとんどのシナリオで機能します (スレッド呼び出しos._exit()は注目すべき例外の 1 つです)。

別の方法は、Python スクリプトをバッチ ファイルにラップしpause、Python インタープリターを呼び出した後にコマンドを使用することです。

于 2012-04-11T19:29:23.330 に答える
3

現在、このコードでバッチファイルを使用しています

@echo off
env\project_env\Scripts\python.exe -mpdb test.py
pause

env\project_envによって使用されるライブラリを含む virtualenv ディレクトリです。test.py

env\project_env\Scripts\python.exeは、virtualenv にインストールされているライブラリを魔法のように使用させる Python インタープリターです。

-mpdbプログラムがキャッチされない例外で終了した場合、デバッガーが開きます。

于 2012-04-11T19:30:47.690 に答える