在本文中,我将向您展示两个工具,这些工具可在<em>Python</em>文件更改时重新加载代码或运行任意命令。Entr —当您的<em>Python</em>文件更改时运行任意命令 这个工具是怎么运作的呢?entr允许您在文件更改时运行任意命令
2021-05-22 02:00:06
您是否運行過for迴圈並希望在for迴圈內的程式碼中新增更多詳細資訊?
您可能會決定不這樣做,因為新增更多詳細資訊意味著您需要停止進度並重新運行所有內容。
如果程式碼已經運行了幾個小時,則停止進度尤其不理想。如果您可以在每次迭代中重新載入迴圈體而不丟失如下所示的狀態,那不是很好嗎?
在本文中,我將向您展示兩個工具,這些工具可在Python檔案更改時重新載入程式碼或運行任意命令。
Entr —當您的Python檔案更改時運行任意命令
這個工具是怎麼運作的呢?
entr允許您在檔案更改時運行任意命令。為了瞭解entr會有什麼幫助,讓我們想象一下我們想創建一個函數,該函數接受一個數字列表並返回偶數。
我們將檔案命名為entr_examples.py,然後使用pytest檢查get_evens函數是否返回偶數。
$ pytest entr_examples.py
測試失敗,因為我們尚未向get_evens函數新增任何程式碼。要嘗試以其他方式獲取偶數,請在程式碼更改時使用entr重新運行pytest entr_examples.py命令。
$ ls entr_examples.py | entr python entr_examples.py
通過使用entr,我們無需在開發功能時再次重新運行同一命令。
由於「測試驅動開發」的第一條法則是「除非編寫了失敗的單元測試,否則您不得編寫生產程式碼」,因此entr鼓勵開發人員以其他方式測試編寫程式碼的方法,直到其起作用為止。
請注意,如果要一次跟蹤多個Python檔案,請使用ls * .py |輸入command_to_runinstead。這意味著,如果要跟蹤的任何檔案被更改,則將執行command_to_run。
要在MacOS上安裝entr,請輸入:
brew install entr
要在Ubuntu上安裝entr,請輸入:
sudo apt-get install entr
另一個選擇是克隆entr repo並按照安裝說明進行操作。
重新載入-重新載入迴圈主體而不會丟失其狀態
Reloading是一個Python庫,允許您在每次迭代中重新載入迴圈體而不會丟失其狀態。
要了解重新載入的作用,請想象您編寫了一個列印偶數的Python迴圈。但是,在迴圈運行時,您還希望它在不停止迴圈的情況下輸出奇數。
通常,這無法在Python中完成。在下面的程式碼中,即使我們在執行過程中將print(f'{num}是奇數')新增到迴圈主體中,輸出中也沒有奇數。
但是,可以很容易地通過重新載入來完成。
在執行過程中向迴圈體中新增else語句後,將顯示出奇數!
重新載入在這裡似乎並沒有真正的幫助,因為執行for迴圈不需要花費很長時間。但是,如果您已經訓練了數小時的深度學習模型,並且想要在每個紀元中列印更多統計資訊而不停止迴圈,這將變得非常方便。
好了,本文到此結束。如果對程式設計、計算機、程式設計師方面感興趣的話,歡迎私信聯絡我,隨時交流!點個關注,是對我莫大的鼓勵!
相關文章
在本文中,我将向您展示两个工具,这些工具可在<em>Python</em>文件更改时重新加载代码或运行任意命令。Entr —当您的<em>Python</em>文件更改时运行任意命令 这个工具是怎么运作的呢?entr允许您在文件更改时运行任意命令
2021-05-22 02:00:06
P盘即利用<em>CPU</em>或者显卡通过独特的算法将硬盘写满哈希数据。通俗理解,P盘就是把硬盘写满彩票号码,然后提交到主网用于抽奖(挖矿)。 所以P盘越快,硬盘就写满的越快,硬盘越大,中奖的几率就越大。P盘服务器 黄琼/摄 如同
2021-05-22 01:32:25
想吃饭,你得先做饭,做饭你得有柴米油盐酱醋(电脑的<em>CPU</em>,内存,主板,显示器,键盘等等),有了这些材料,你得拿得到,还得知道怎么用,这个该放多少,那个该放多少得有个量(各种底层驱动软件,把电脑的各个部件调动起
2021-05-22 01:32:16
因为那时候也没啥精品3A大作可玩,小雷联网后,大部分时间都泡在IE<em>浏览器</em>里访问各种网页。而在当时被用来访问网页和玩小游戏的「IE <em>浏览器</em>」,最近再次被微软官方宣布“死刑”。虽然在很长一段时间里,咱
2021-05-22 01:31:33
在<em>浏览器</em>打开”; 安卓版本下载”后,手机下方弹出APP下载界面,点击“下载”; 慧眼识诈APP”安装信息(未自动弹出,请点击手机右下角“┇”,弹出界面后点击“下载管理”,点击“打开”),点击“允许”; 继续安装
2021-05-22 01:31:24
相比之下,<em>Chrome</em>市场份额超过65%,之后是Safari,份额约10%。同时该数据还显示,微软新的Edge浏览器份额为8%。 网友揶揄道:IE浏览器的唯一用途是下载别家的浏览器。 其实,24君想告诉网友,微软主推的Edge真的很
2021-05-22 01:31:05