2017-03-03 80 views
0

我在MacOS 10.12.3和PyDev 5.5.0.201701191708上使用Eclipse Neon.2版本(4.6.2)。我正在處理的模塊中有幾個子例程,當我在bash中運行此腳本時,需要退出到命令行。我使用sys.exit(0),但也使用了exit(0)。當我在PyDev控制檯中測試這個模塊時,這些語句以及模塊退出控制檯。退出Python模塊,不退出PyDev控制檯

如何在不退出控制檯的情況下退出模塊?雖然我可以在調試中使用return語句,但當完成並從命令行運行時,我希望程序執行在這些點停止並退回到命令行。

+0

看看'pdb'調試包...像'pdb.set_trace()'我想...... pycharm有一個內置的調試器,你可以在任何斷點處放置斷點並打開一個控制檯......我會假設eclipse提供了一些simlet –

回答

0

我必須說,這是一個有點很難知道你從你的描述想要什麼......

所以,我給你一些選擇:

  1. 您可以使用交互式控制檯調用你的每個函數(http://www.pydev.org/manual_adv_interactive_console.html) - 請注意,你甚至可以在調試器下啓動它以查看當地人,有斷點等(http://www.pydev.org/manual_adv_interactive_console.html#full-debug-support-in-interactive-console)。

  2. 只要運行它在調試器下,把你想要的斷點。(http://www.pydev.org/manual_adv_debugger.html

  3. 其實構造代碼,你說的方式(雖然我覺得有點怪怪的...你能提供更多的細節你想達到什麼目的以及爲什麼你想要這個工作流程?)

+0

我經常用sys.exit(0)退出Python腳本。在PyDev控制檯中使用它意味着它不僅退出我的程序,還退出控制檯。那麼,我可以使用哪些命令來終止正在運行的腳本,而無需退出控制檯? – Tango

+0

嗯,這實際上是預期的......我不確定你可以像你想要的那樣退出(雖然你執行的任何操作都會在控制檯中斷,但不會改變你的實際程序流程) - 你想要的是可能會使它引發一個特定類型的異常,這是在適當的地方處理的......我認爲你可以嘗試中斷這個過程(黃色按鈕),它應該向程序提出一個ctrl + c來做什麼你想要的(你可能必須在你自己的程序中處理它,以防止它退出思想)。 –