我發(fā)現(xiàn)了個(gè) Python 黑魔法,執(zhí)行任意代碼都會(huì)自動(dòng)念上一段 『平安經(jīng)』
最近的"平安經(jīng)"可謂是引起了不小的風(fēng)波啊。
作為一個(gè)正兒八經(jīng)的程序員,最害怕的就是自己的代碼上線出現(xiàn)各種各樣的 BUG。
為此,明哥今天分享一個(gè) Python 的黑魔法,教你如何在你執(zhí)行任意 Python 代碼前,讓 Python 解釋器自動(dòng)念上一段平安經(jīng),保佑代碼不出 BUG 。
本技巧已經(jīng)收錄于最新版的 《Python黑魔法指南》v2.0,可以前往 Github 閱讀:https://github.com/iswbm/magic-python)
做好心理準(zhǔn)備了嘛?
明哥要開始作妖了,噢不,是開始念經(jīng)了。
感謝佛祖保佑,Everything is ok,No bugs in the code.
你一定很想知道這是如何實(shí)現(xiàn)的吧?
如果你對 Linux 比較熟悉,就會(huì)知道,當(dāng)你在使用 SSH 遠(yuǎn)程登陸 Linux 服務(wù)器的時(shí)候?會(huì)讀取 .bash_profile 文件加載一些環(huán)境變量。
.bash_profile 你可以視其為一個(gè) shell 腳本,可以在這里寫一些 shell 代碼達(dá)到你的定制化需求。
而在 Python 中,也有類似 .bash_profile 的文件,這個(gè)文件一般情況下是不存在的。
我們需要新建一個(gè)用戶環(huán)境目錄,這個(gè)目錄比較長,不需要你死記硬背,使用 site 模塊的方法就可以獲取,然后使用 mkdir -p 命令創(chuàng)建它。
在這個(gè)目錄下,新建一個(gè) usercustomize.py 文件,注意名字必須是這個(gè),換成其他的可就識別不到啦。
這個(gè) usercustomize.py 的內(nèi)容如下(明哥注:佛祖只保佑幾個(gè) Python 的主要應(yīng)用方向,畢竟咱是 Python 攻城獅嘛...)
這個(gè)文件我放在了我的 github 上,你可以前往獲取
一切都完成后,無論你是使用 python xxx.py 執(zhí)行腳本
還是使用 python 進(jìn)入 Python Shell ,都會(huì)先念一下平安經(jīng)保平安。
繼續(xù)探索除此之外,可還有其他方法呢?
當(dāng)然是有,只不過相對來說,會(huì)麻煩一點(diǎn)了。
先來看一下效果。
先查看下 ~/Library/Python/3.9/lib/python/site-packages 目錄下并沒有 usercustomize.py 文件。
但是在執(zhí)行 python 進(jìn)入 Python Shell 模式后,還是會(huì)打印了平安經(jīng)。
這又是如何做到的?真見鬼了呀。
方法其實(shí)也很簡單,只要做兩件事,就能實(shí)現(xiàn)這樣的效果:
第一件事,在任意你喜歡的目錄下,新建 一個(gè)Python 腳本,名字也隨意,比如我叫 startup.py,內(nèi)容還是和上面一樣
第二件事,設(shè)置一個(gè)環(huán)境變量 PYTHONSTARTUP,指向你的腳本路徑
$ export PYTHONSTARTUP=/Users/MING/startup.py
這樣就可以了。
但是這種方法只適用于 Python Shell ,只不適合 Python 執(zhí)行腳本的方法。
如果要在腳本中實(shí)現(xiàn)這種效果,我目前想到最粗糙我笨拙的方法了 -- 手動(dòng)加載執(zhí)行
本文分享了兩個(gè)非常冷門 Python 的黑魔法技巧,可以實(shí)現(xiàn)在你執(zhí)行任意的 Python 代碼前,自動(dòng)召喚佛祖念上一段平安經(jīng)。
本文轉(zhuǎn)載自微信公眾號「 Python編程時(shí)光」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系 Python編程時(shí)光公眾號。