您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

这两个Python工具真香!修改代码不会影响运行

时间:2021-05-18 10:53:05  来源:今日头条  作者:无情逻辑
这两个Python工具真香!修改代码不会影响运行

 

你是否运行过for循环并希望在for循环内的代码中添加更多详细信息?你可能会决定不这样做,因为添加更多详细信息意味着需要停止代码并重新运行所有内容。

代码已经运行了几个小时,停止代码会让人不爽。如果可以在每次迭代中重新加载循环体而不丢失如下所示的状态,那不是很好吗?

这两个Python工具真香!修改代码不会影响运行

 

在本文中,我将向大家展示两个工具,这些工具可在Python/ target=_blank class=infotextkey>Python文件更改时重新加载代码或运行任意命令。

1、Entr

Entr:Python文件更改时运行任意命令

entr 工作原理

允许你在文件更改时运行任意命令。为了了解entr会有什么帮助,我们想创建一个函数,该函数需要一个数字列表并返回偶数。

我们将上面的文件命名为entr_examples.py,然后使用pytest检查get_evens函数是否返回偶数。

$ pytest entr_examples.py
这两个Python工具真香!修改代码不会影响运行

 

测试失败,因为我们尚未向get_evens函数添加任何代码。要尝试以其他方式获取偶数,请在代码更改时使用entr重新运行pytest entr_examples.py命令。

$ ls entr_examples.py | entr python entr_examples.py
这两个Python工具真香!修改代码不会影响运行

 

太cool了,通过使用entr,我们无需在开发功能时再次重新运行同一命令。由于"测试驱动开发"的第一条法则是"除非编写了失败的单元测试,否则你不得编写生产代码",因此entr鼓励开发人员以其他方式测试编写代码的方法,直到其起作用为止。

语法

以下是entr的常规语法:

这两个Python工具真香!修改代码不会影响运行

 

请注意,如果想一次跟踪多个Python文件,请使用ls * .py

安装

要在macOS上安装entr,请输入:

brew install entr

要在Ubuntu上安装entr,请输入:

sudo apt-get update
sudo apt-get install entr

另一个选择是克隆entr repo并按照安装说明进行操作。

2、Reloading

Reloading:重新加载循环主体而不会丢失其状态

要了解 Reloading 的有用性,我编写了一个打印偶数的 python 函数。但是,在循环运行时,还希望它在不停止循环的情况下输出奇数。

通常,这无法在Python中完成。在下面的代码中,即使我们在执行过程中将「print(f'{num} is odd')」 添加到循环主体中,输出中也没有奇数。

这两个Python工具真香!修改代码不会影响运行

 

但是,可以很容易地通过重新加载来完成。下面的GIF显示了如何将重载添加到循环中可以有所作为。

这两个Python工具真香!修改代码不会影响运行

 

如我们所见,在执行过程中向循环体中添加else语句后,将打印出奇数!

Reloading 在这里似乎并没有真正的帮助,因为执行for循环不需要花费很长时间。但是,如果你已经训练了数小时的深度学习模型,并且想要在每个 epoch 中打印更多统计信息而不停止循环,这将变得非常方便。

语法

要使用reloading,只需将其添加到如下所示的Python循环中:

这两个Python工具真香!修改代码不会影响运行

 

安装

pip install reloading

结论

刚刚我介绍了如何在更改Python文件时运行任意命令,并重新加载Python循环主体而不会丢失其状态。现在,如果你感兴趣,可以在日常工作中进行尝试,关注我获取更多有意思的干货!



Tags:Python工具   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
下午摸鱼的功夫,汇总了常用到的9个Python工具,安装使用,逐步熟练。若有用,可以收藏这篇文章。 1 Faker生成假数据你若还在为生成名字、地址、IP地址而发愁,试试Faker库吧。它是专...【详细内容】
2022-05-30  Tags: Python工具  点击:(59)  评论:(0)  加入收藏
最近汇总了平时常用到的9个很好的Python工具,它们能极大的提高我们的工作效率,安装它们,然后逐步熟练使用它们。若有用,可以收藏这篇文章。1 Faker生成假数据你若还在为生成名字...【详细内容】
2021-12-14  Tags: Python工具  点击:(139)  评论:(0)  加入收藏
如果您想使用甚至掌握数据分析技能的话,Python一定是您的最佳选择。它不但容易被学习,而且具有广泛且活跃的社区支持。目前,大多数数据科学库、以及机器学习框架,都能够提供Pyth...【详细内容】
2021-07-29  Tags: Python工具  点击:(145)  评论:(0)  加入收藏
你是否运行过for循环并希望在for循环内的代码中添加更多详细信息?你可能会决定不这样做,因为添加更多详细信息意味着需要停止代码并重新运行所有内容。代码已经运行了几个小...【详细内容】
2021-05-18  Tags: Python工具  点击:(366)  评论:(0)  加入收藏
工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推...【详细内容】
2020-05-15  Tags: Python工具  点击:(96)  评论:(0)  加入收藏
▌简易百科推荐
近几年 Web3 被炒得火热,但是大部分人可能还不清楚什么是 Web3,今天就让w3cschool编程狮小师妹带你了解下 Web3 是什么?与我们熟知的 Web1 和 Web2 又有什么区别呢?web3.0什么是...【详细内容】
2022-07-15  编程狮W3Cschool    Tags:Web3.0   点击:(2)  评论:(0)  加入收藏
1、让我们一起来看下吧,直接上图。 第一眼看到是不是觉得很高逼格,暗黑画风,这很大佬。其实它就是------AidLearning。一个运行在安卓平台的linux系统,而且还包含了许多非常强大...【详细内容】
2022-07-15  IT智能化专栏    Tags:AidLearning   点击:(2)  评论:(0)  加入收藏
真正的大师,永远都怀着一颗学徒的心! 一、项目简介 今天说的这个软件是一款基于Python+vue的自动化运维、完全开源的云管理平台。二、实现功能 基于RBAC权限系统 录像回放 ...【详细内容】
2022-07-14  菜鸟程序猿    Tags:Python   点击:(3)  评论:(0)  加入收藏
前言今天笔者想和大家来聊聊python接口自动化的MySQL数据连接,废话不多说咱们直接进入主题吧。 一、什么是 PyMySQL?PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,P...【详细内容】
2022-07-11  测试架构师百里    Tags:python   点击:(19)  评论:(0)  加入收藏
aiohttp什么是 aiohttp?一个异步的 HTTP 客户端\服务端框架,基于 asyncio 的异步模块。可用于实现异步爬虫,更快于 requests 的同步爬虫。安装pip install aiohttpaiohttp 和 r...【详细内容】
2022-07-11  VT漫步    Tags:aiohttp   点击:(15)  评论:(0)  加入收藏
今天我们学习下 Queue 的进阶用法。生产者消费者模型在并发编程中,比如爬虫,有的线程负责爬取数据,有的线程负责对爬取到的数据做处理(清洗、分类和入库)。假如他们是直接交互的,...【详细内容】
2022-07-06  VT漫步    Tags:Python Queue   点击:(34)  评论:(0)  加入收藏
继承:是面向对象编程最重要的特性之一,例如,我们每个人都从祖辈和父母那里继承了一些体貌特征,但每个人却又不同于父母,有自己独有的一些特性。在面向对象中被继承的类是父类或基...【详细内容】
2022-07-06  至尊小狸子    Tags:python   点击:(25)  评论:(0)  加入收藏
点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍。本文1553字,阅读约需4分钟 Hi,大家好,我是CoCo。在上一篇Python自动化测试系列文章:Python自动化测试之P...【详细内容】
2022-07-05  CoCo的软件测试小栈    Tags:Python   点击:(27)  评论:(0)  加入收藏
第一种方式:res = requests.get(url, params=data, headers = headers)第二种方式:res = requests.get(url, data=data, headers = headers)注意:1.url格式入参只支持第一种方...【详细内容】
2022-07-05  独钓寒江雪之IT    Tags:Python request   点击:(19)  评论:(0)  加入收藏
什么是python类的多态python的多态,可以为不同的类实例,或者说不同的数据处理方式,提供统一的接口。用比喻的方式理解python类的多态比如,同一个苹果(统一的接口)在孩子的眼里(类实...【详细内容】
2022-07-04  写小说的程序员    Tags:python类   点击:(28)  评论:(0)  加入收藏
站内最新
站内热门
站内头条