回答
也許inspect
可以幫助你,但你必須過濾信息。
用法,如:
> import inspect
> a = 5
> f = inspect.currentframe()
> print f.f_locals
...
...
'a': 5
...
也許這是值得一提的是,你不能遍歷導致字典的for
循環,因爲asignment一個變量會改變那本字典。你只需要遍歷鍵(至少這就是我發現的)。
例子:
for v in f.f_locals.keys():
if not v.startswith("_"):
print v
看第一行:簡單地寫for v in f.f_locals
不會成功。
這不是嚴格正確的,你必須迭代只有鍵。關鍵是'keys()'遍歷字典來建立一個列表**並且在它被分配給'v' **之前完成。這意味着如果你真的想把它作爲一個字典迭代,只需要'dict(f.f_locals.keys())',或者你可以將它保存在一個變量中,如果你想用它來指定其他的東西。你也可以使用'f.f_locals.items()'而不是'f.f_locals.iteritems()'或'f.f_locals.iterkeys()'。 – Ben
如果您在Pydev的(Python擴展Eclipse的),你可以輕鬆地看你的變量,但是你需要首先設置一個斷點,那麼只有踏進/在你的代碼運行。
抓住一個調試器:http://winpdb.org/然後你就可以看到它們並在那裏看到它們;但是,如果您只是在尋找一個函數來打印本地作用域中定義的所有變量,只需調用locals()
即可。
正如對衝浪者的一個提示:'winpdb',儘管名稱很少,但仍然是一個跨平臺的GPL許可軟件。 :) – mac
如果你的問題是指python作爲一種語言(而不是「python作爲應用程序和實用程序的生態系統」),AFAIK的答案是「否」(不是開箱即用的)。當然有許多IDE允許你使用調試來查看變量的值[例如參見Sumit答案]。
但是,如果在開發過程中想要對多個變量進行「實時監控」,則可以使用logging
模塊,並定義your own Handler class以便將信息重定向到某處。如果將消息設置爲log.debug
級別,則只需更改應用程序的最低日誌級別即可激活/取消激活此功能。
HTH!
此外:根據格式,您的消息包括時間,當前功能和其他信息。您可以爲消息設置不同的「級別」,以便您可以將消息壓縮到特定級別以下。 – aitchnyu
- 1. 在python中看變量嗎?
- 2. MVC - 查看變量?
- 3. expressjs查看變量
- 4. 查看Properties.Settings.Default變量
- 5. 在運行時查看python中所有變量的值
- 6. 如何在pudb中查看變量?
- 7. 在Cygwin中查看Windows環境變量
- 8. 如何在Firefox Scratchpad中查看變量?
- 9. 如何在Ruby Pry中查看變量?
- 10. 傳遞變量,以查看在CakePHP中
- 11. 在NavigationController中查看數據/實例變量查看
- 12. 檢查的變量在python
- 13. 從webmethode查看extern變量
- 14. 查看php會話變量
- 15. 用PHPMyAdmin查看變量
- 16. Symfony和xDebug查看變量
- 17. MVC查看Javascript變量
- 18. R:查看本地變量
- 19. CS0103查看本地變量
- 20. 查看變量的例外
- 21. 查看內存雙變量
- 22. CakePHP 3查看變量
- 23. 如何在python中引發警告時在函數中查看變量?
- 24. 在MySQL查詢中使用Python變量
- 25. 在Python中檢查初始化變量
- 26. 在Python中查找最小變量
- 27. Excel中的Concat rails變量查看
- 28. 在軌道顯示變量查看
- 29. 在python中查看文件?
- 30. 查看變量變成Zend框架
如果你需要在Python這個級別進行調試,那麼你的編寫Python代碼的方法可能會有根本性的錯誤... –