我發現了個 Python 黑魔法,執行任意程式碼都會自動念上一段 『平安經』
最近的"平安經"可謂是引起了不小的風波啊。
作為一個正兒八經的程式設計師,最害怕的就是自己的程式碼上線出現各種各樣的 BUG。
為此明哥就研究了一下,如何在你執行任意 Python 程式碼前,讓 Python 直譯器自動念上一段平安經,保佑程式碼不出 BUG 。
沒想到還真被我研究出來了
做好心理準備了嘛?
我要開始作妖了,噢不,是開始唸經了。
感謝佛祖保佑,Everything is ok,No bugs in the code.
你一定很想知道這是如何實現的吧?
如果你對 Linux 比較熟悉,就會知道,當你在使用 SSH 遠端登陸 Linux 伺服器的時候?會讀取 .bash_profile
.bash_profile
你可以視其為一個 shell 指令碼,可以在這裡寫一些 shell 程式碼達到你的定製化需求。
而在 Python 中,也有類似 .bash_profile
的檔案,這個檔案一般情況下是不存在的。
我們需要新建一個使用者環境目錄,這個目錄比較長,不需要你死記硬背,使用 site 模組的方法就可以獲取,然後使用 mkdir -p
命令建立它。
在這個目錄下,新建一個 usercustomize.py
檔案,注意名字必須是這個,換成其他的可就識別不到啦。
這個 usercustomize.py
的內容如下(明哥注:佛祖只保佑幾個 Python 的主要應用方向,畢竟咱是 Python 攻城獅嘛...)
這個檔案我放在了我的 github 上,你可以點此前往獲取。
一切都完成後,無論你是使用 python xxx.py
執行指令碼
還是使用 python
進入 Python Shell ,都會先念一下平安經保平安。
除此之外,可還有其他方法呢?
當然是有,只不過相對來說,會麻煩一點了。
先來看一下效果。
先檢視在 ~/Library/Python/3.9/lib/python/site-packages
目錄下並沒有 usercustomize.py
檔案。
但是在執行 python 進入 Python Shell 模式後,還是會列印平安經。
這又是如何做到的?真見鬼了呀。
方法其實也很簡單,只要做兩件事,就能實現這樣的效果:
第一件事,在任意你喜歡的目錄下,新建 一個Python 指令碼,名字也隨意,比如我叫 startup.py
,內容還是和上面一樣
第二件事,設定一個環境變數 PYTHONSTARTUP,指向你的指令碼路徑
$ export PYTHONSTARTUP=/Users/MING/startup.py
這樣就可以了。
但是這種方法只適用於 Python Shell ,只不適合 Python 執行指令碼的方法。
如果要在指令碼中實現這種效果,我目前想到最粗糙我笨拙的方法了 -- 手動載入執行
本文分享了兩個非常冷門 Python 的黑魔法技巧,可以實現在你執行任意的 Python 程式碼前,自動召喚佛祖念上一段平安經。
希望本篇分享能對你有用,更多關於 Python Shell 的玩法,我已經整理在了我的 Github 上 https://github.com/iswbm/magic-python ,可以前往檢視。