中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python看執行過程的方法

發布時間:2020-07-30 15:03:30 來源:億速云 閱讀:409 作者:清晨 欄目:編程語言

這篇文章主要介紹python看執行過程的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

對于一些剛入門 Python 的朋友來說,代碼稍微復雜些就難以搞懂代碼內部到底是怎么運行的了,而且有時一運行就報錯,難以一下發現錯誤,只會用 Print 去慢慢找異常的地方,效率很低下。

所以對程序進行監控和調試很重要。今天就給大家分享一個由國外大神制作的 Python 神工具,可以實時動態地監控 Python 程序的運行情況,逐行追蹤代碼的運行時間,整個過程是可視化的,這就很贊了啊,能一清二楚地了解程序運行情況,有異常時也能快速找到,節省大量時間。

項目地址:https://github.com/alexmojaki/heartrate

Heartate——如監測心率般追蹤程序運行

這個工具庫叫 Heartrate,可以實時可視化 Python 程序的執行過程。監控運行中的 Python 程序如圖:

python看執行過程的方法

如圖所示,左側數字表示每行代碼被觸發的次數。長方框表示最近被觸發的代碼行——方框越長表示觸發次數越多,顏色越淺表示最近被觸發次數越多。

雖然追蹤每行代碼的觸發次數是一個方法,但是要是能計算每次觸發代碼的執行時間就好了。這樣能夠更好地說明哪行代碼是效率瓶頸。

得益于 executing (https://github.com/alexmojaki/executing) 庫,當前被執行的調用以高亮顯示。

實時堆棧追蹤(stacktrace)如下所示:

python看執行過程的方法

功能

該工具可以:

    ·啟動程序追蹤

    ·在線程中啟動服務器

    ·打開顯示 trace 被調用的文件可視化圖的瀏覽器窗口

在文件視圖中,堆棧追蹤位于底部。而在堆棧追蹤中,用戶可以點擊正在追蹤文件的堆棧條目,從而在該代碼行打開文件的可視化圖。

trace 只追蹤調用它的線程。若要追蹤多線程,用戶必須在每個線程都予以調用,并且每次的端口也不同。

如何設置需要監測的程序

files 確定了除調用的 trace 之外其他需要追蹤的文件。files 必須是可調用的,并接受一個參數:文件路徑,同時如果應該追蹤該文件,則需要返回 True。為方便起見,這位開發者提供了以下函數:

    ·files.all:追蹤所有文件;

    ·files.path_contains(substrings):追蹤路徑中包含任何給定子字符串的所有文件;

    ·files.contains_regex(pattern):追蹤自身包含給定正則表達式(regex)的所有文件,所以用戶可以在源代碼中標記所追蹤的文件,如添加注釋。

默認情況下追蹤包含注釋 # heartrate 的文件(空格可選)。

如果用戶要追蹤多個文件,則可通過以下兩種方式得到它們的可視化頁面:

    ·在堆棧追蹤中,用戶點擊正在追蹤的堆棧條目,則可以打開頁面并跳轉至堆棧條目;

    ·跳轉至 http://localhost:9999/ 網站的索引頁,從而查看追蹤文件列表。

host:服務器的 HTTP host。若要運行可從任何地方訪問的遠程服務器,使用'0.0.0.0'。默認為'127.0.0.1'。

port:服務器的 HTTP 端口。默認為 9999。

browser:若為 True,則自動打開顯示文件(trace 被調用)可視化圖的瀏覽器標簽。默認為 False。

安裝

pip install--user heartrate

支持 Python 3.5 以上版本。

其他代碼可視化工具

除了上面這個外,還有一個可以可視化代碼執行過程的網站,名為Pythontutor。和本文的 Heartrate 不同,該網站更多的是可視化數據在程序中的變化過程。

可視化的過程如下:

python看執行過程的方法

用戶還可以在網站上編輯修改代碼,觀察運行過程中數據的變化。

以上是python看執行過程的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇安县| 大石桥市| 长泰县| 文水县| 和顺县| 揭西县| 玉林市| 天长市| 河北区| 潞西市| 镇平县| 新晃| 蓬溪县| 吴江市| 鸡东县| 楚雄市| 赣榆县| 江永县| 东乡| 枣庄市| 九寨沟县| 崇文区| 旌德县| 沅江市| 甘洛县| 临漳县| 鸡泽县| 宿迁市| 永吉县| 交口县| 家居| 云安县| 南昌县| 瓦房店市| 凤山市| 紫阳县| 郴州市| 阳曲县| 隆昌县| 政和县| 会泽县|