catch后面的代码会执行吗_我发现了个 Python 黑魔法,执行任意代码都会自动念上一段 平安经...

关注上方“数据挖掘工程师”,选择星标, 关键时间,第一时间送达!

ff5de11bdc28c82d5d7e594b3b252633.png

作为一个正儿八经的程序员,最害怕的就是自己的代码上线出现各种各样的 BUG。

为此,今天分享一个 Python 的黑魔法,教你如何在你执行任意 Python 代码前,让 Python 解释器自动念上一段平安经,保佑代码不出 BUG 。

本技巧已经收录于最新版的 《Python黑魔法指南》v2.0,可以前往 Github 阅读:https://github.com/iswbm/magic-python)

做好心理准备了嘛?

明哥要开始作妖了,噢不,是开始念经了。

8fc0e841238dfaa0d0922fcb1894a1c7.png

感谢佛祖保佑,Everything is ok,No bugs in the code.

你一定很想知道这是如何实现的吧?

如果你对 Linux 比较熟悉,就会知道,当你在使用 SSH 远程登陆 Linux 服务器的时候?会读取 .bash_profile 文件加载一些环境变量。

.bash_profile 你可以视其为一个 shell 脚本,可以在这里写一些 shell 代码达到你的定制化需求。

而在 Python 中,也有类似 .bash_profile 的文件,这个文件一般情况下是不存在的。

我们需要新建一个用户环境目录,这个目录比较长,不需要你死记硬背,使用 site 模块的方法就可以获取,然后使用 mkdir -p 命令创建它。

59e855d0446557b2235afd69af46dab1.png

在这个目录下,新建一个 usercustomize.py 文件,注意名字必须是这个,换成其他的可就识别不到啦。

这个 usercustomize.py 的内容如下(明哥注:佛祖只保佑几个 Python 的主要应用方向,毕竟咱是 Python 攻城狮嘛...)

259ad479c0885d4f7c93526fa2dbde7e.png

这个文件我放在了我的 github 上,你可以前往获取

cca4540eabffdeffe59434a614c01bc7.png

一切都完成后,无论你是使用 python xxx.py 执行脚本

8fc0e841238dfaa0d0922fcb1894a1c7.png

还是使用 python 进入 Python Shell ,都会先念一下平安经保平安。

e0f866c18beee4fdf43f3d72298bfbd0.png

继续探索

除此之外,可还有其他方法呢?

当然是有,只不过相对来说,会麻烦一点了。

先来看一下效果。

先查看下 ~/Library/Python/3.9/lib/python/site-packages 目录下并没有 usercustomize.py 文件。

但是在执行 python 进入 Python Shell 模式后,还是会打印了平安经。

9e22809e7b081f5305483d9fa73e6c39.png

这又是如何做到的?真见鬼了呀。

方法其实也很简单,只要做两件事,就能实现这样的效果:

第一件事,在任意你喜欢的目录下,新建 一个Python 脚本,名字也随意,比如我叫 startup.py,内容还是和上面一样

4c4aee75f6631e3d7d2405c9c2a29851.png

第二件事,设置一个环境变量 PYTHONSTARTUP,指向你的脚本路径

$ export PYTHONSTARTUP=/Users/MING/startup.py

这样就可以了。

但是这种方法只适用于 Python Shell ,只不适合 Python 执行脚本的方法。

8e2c69f62dc5c1660136b8204a843fb9.png

如果要在脚本中实现这种效果,我目前想到最粗糙我笨拙的方法了 -- 手动加载执行

6b4e7ce90f4a8d3c093de14689fe2b69.png

本文分享了两个非常冷门 Python 的黑魔法技巧,可以实现在你执行任意的 Python 代码前,自动召唤佛祖念上一段平安经。

希望本篇分享能对你有用,更多关于 Python Shell 的玩法,我已经整理在了我的 Github 上(https://github.com/iswbm/magic-python),可以前往查看。

特别推荐

Java极客们都在关注「JavaGeek」,专注分享Java技术干货,包括多线程、JVM、Spring Boot、Spring Cloud、Intellij IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务等。

关注并回复「Java学习」获得 1024G Java学习资料

4515d7a30774c5f451f2c43db7460ef7.png

推荐阅读

面试常考!SQL行转列和列转行40000字笔记!HiveSQL再不懂来找我!内部泄露版!互联网大厂的薪资和职级一览好文!10年数据分析老司机的深度思考!VS Code、Atom、Sublime Text:谁才是真正的编辑器之王?太强了!这个 Jupyter notebook 离线工具可以用一辈子!“干货学习,三连
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值