在IDLE中執行腳本後使用Python對象非常方便。那麽在PyCharm中,使用交互式python shell有什麽方法可以使用腳本對象嗎?
例如,我們有一個包含一個文件’test.py’的’test’項目:
a = '123'
print a
執行後我們可以得到結果:
123
Process finished with exit code 0
如何在交互shell中使用字符串’a’?
最佳解決辦法
用於當前調試會話的內置python shell
-
在感興趣代碼線上設置一個斷點(即通過單擊裝訂線),然後啟動調試(在編輯器中右鍵單擊,然後選擇調試myfile.py …)。
-
當到達斷點時,找到調試> “控製台”選項卡,然後單擊“顯示命令行”圖標(請參見屏幕截圖)。
這將啟用python shell(請注意屏幕截圖上的綠色>>>
),您可以在其中訪問當前作用域中的所有變量,並執行通常在Python shell中執行的所有操作。
In recent pycharm versions you get the full ipython interpreter instead of the plain python shell (if ipython is installed).
評估表達式的窗口
作為一個更方便的選擇,如果隻需要檢查一些變量、訪問成員或調用範圍內的對象的方法,一旦到達斷點,請在當前範圍中選擇一個表達式,right-click – >評估表達式(或使用Run
→Evaluate Expression...
下的菜單中顯示的熱鍵),根據需要進行編輯 – 可以鍵入任何具有自動補全的可用python表達式,然後按Enter鍵(或者單擊Evaluate)來檢查結果。
支持多個和多行表達式:要獲得Inspect對話框的多行版本,請單擊Code fragment模式或在編輯器中選擇多行代碼,然後評估表達式。可以將值分配給現有變量(無法定義新變量),並運行整個代碼塊。
鼠標懸停在變量上
要在調試模式下點擊斷點後查看變量的值,請將鼠標指針懸停在變量上(1-2秒),該變量的值將顯示在工具提示中。
提示將包含一個➕
圖標 – 點擊它將打開一個彈出式檢查器。
對於範圍內的變量,檢查器顯示在調試下的底部麵板中
次佳解決辦法
我發現以前的答案有用,但並不令人滿意。所以我在這裏提供第三個選項:
將選定的代碼加載到控製台(我的建議)
使用Shift
+ Alt
+ E
將所選代碼或光標所在行加載到控製台中並立即運行。這也有一些缺點:
-
如果需要運行整個文件,則必須選擇整個文件。
-
即使遇到錯誤,代碼也會繼續運行。
但是作為回報,我們得到的功能比IDLE更好(在我看來):能夠一次運行你的代碼。
詳見here。
使用斷點和評估表達式(Alt
– F8
)(由Piga-fetta建議)
這在大型應用程序中非常有用,我們需要在代碼中的某些位置進行調試,但對於交互式編碼不太有用。所以這不是我們想要的。
使用工具 – >運行Python控製台(由Games Brainiac和kobejohn建議)
這是我們想要的,但有點麻煩,特別是如果我們要運行的模塊不在項目的根目錄。
第三種解決辦法
可以簡單地在PyCharm 2和PyCharm 3中使用Python控製台。可以直接導入,因為項目根目錄已經添加到PYTHONPATH
:
所以讓我通過一些屏幕截圖來演示:
1.在根目錄下製作console.py
文件
2.在PyCharm裏打開Python控製台
3.從console.py
文件導入變量
到這裏,就已經成功地導入變量了。
第四種辦法
執行後保持打開命令行
對於仍然有這個問題的人來說:進入運行/調試菜單,選擇編輯配置,勾選“顯示命令行”這個選項可以讓你在控製台的>>>提示並測試你的功能。
全局配置
為了使這個改變適用於所有的.py文件(因為這個複選框隻適用於你正在處理的當前文件),請轉到:編輯配置,在彈出的對話框中你會看到一個菜單樹,選擇Defaults ,然後選擇Python,然後選中“顯示命令行”框,每當你打開一個.py文件時,這會使其成為默認設置,(這個功能默認應該是開啟的)。