pycharm 如何程序運行後,仍可查看變數值?(非Debug mode, 因為debug運行太慢)
python pycharm
pycharm+ipython(現在叫jupyter notebook了) 能完美解決這個問題。功能甚至比matlab更強大。
作為曾經的matlab重度使用者,轉到Python之後一直不適應,斷點什麼的實在是太麻煩了。。。matlab的workspace記住所有中間變數,一旦出錯隨時調用中間變數查看debug方便的多。
pycharm也能有同樣的功能,先安裝玩pycharm,然後安裝jupyter notebook。 這時候pycharm裡面的python console自動就會被替換成ipython 的console。
運行python 程序時,不要用菜單欄里的run,在當前的console 下面敲入
run 你的python 文件名
運行debug的小腳本,比如可視化幾個變數之類的小腳本時可以用
run -i 你的python 文件名
-i的意思是 源文件就在當前IPython的名字空間下運行而不是在一個新的名字空間中 , 也就是和MATLAB一樣當成腳本運行。 這時就能直接調用workspace裡面的變數了。
結果如圖:
右邊欄就是全部的變數,和MATLAB的workspace類似。對面向對象的支持比matlab還好。
MATLAB裡面的ans 和 Python console 里的 _ 對應。
上下箭頭同樣是查看歷史命令。
另外,console也支持自動補全。同時因為變數的類型已經知道,自動補全的結果比在editor裡面寫代碼時要準確得多。
————————
2017年10月29號更新:
補充幾個pycharm自己常用的看變數思路。
- 設置斷點之後debug運行,程序運行到斷點掛起,這時選擇console窗口旁邊的show python prompt可以直接在ipython裡面看變數,運行腳本,什麼的
2. 斷點可以設條件,這樣就不用辛苦的在代碼裡面加判斷語句了
pycharm這個功能藏得很隱蔽,不過確實經常會有這個需求。我也是找了好久才發現。
在菜單欄里,選擇項目的下拉菜單里選擇 Edit Configuration
在對應項目的設置里勾選上 Show command line afterwards
就OK了。
程序執行後會保持在 python shell 的狀態,可以對程序中的數據進行調試。
關於 PyCharm,之前還寫過一篇:喏,你們要的 PyCharm 快速上手指南 - 知乎專欄,轉需。
其中,兩個重要的配置:編碼和 python 路徑,開發前最好確認下。一個實用的功能:斷點調試,用好了可以節省很多時間。
加斷點https://www.jetbrains.com/pycharm/help/breakpoints.html
那叫debug
Pycharm 不錯,但最近在用 [Rodeo](http://rodeo.yhat.com) 這個 IDE, 用起來和 RStudio 非常像,連默認的快捷鍵都一樣,當然也支持程序運行後仍可以查看變數值這個需求
Run ur script in python shell
Python 2:
execfile("pwd.py")Python 3:exec(open("pwd.py").read())pdb大法好
1. 樓主可以試試spyder,界面簡陋了點2.可以分段在ipython console裡面運行(如果裝了的話pycharm可以直接調用,另外可以把快捷鍵設置一下比如f9 是在Python consloe運行選中..
import pdbpdb.set_trace()出現斷點,隨意查看之前出現的變數值,dir(變數)查看變數用法。
n 執行下一條........
想要Debug方便,必須是Spyder啊,這是它的強項。Spyder的界面和Matlab很像,可以對程序里的變數進行監視。
圖中的標記就是變數監視窗口,就連位置都和Matlab的一樣。
另外,Spyder的Debug功能也不錯,設斷點、單步調試···這些該有的都有,而且用戶體驗挺好的。
當然,Pycharm的功能也是異常強大,而且顏值超過Spyder,所以建議題主用Pycharm寫代碼,用Spyder來調試程序。推薦閱讀:
※python對變數賦值為什麼會出現以下的情況?
※在同一台電腦下如何進行 Python 2 與 3 的切換?
※python3是如何處理字元異常的?
※python3.5 pip 安裝lxml出錯?
※python3如何查找list1中有而list2中沒有的元素??