我發現了個Python黑魔法,執行任意代碼都會自動念上一段「平安經」

來源 | Python編程時光php

最近的"平安經"可謂是引發了不小的風波啊。python

做爲一個正兒八經的程序員,最懼怕的就是本身的代碼上線出現各類各樣的 BUG。git

爲此,明哥今天分享一個 Python 的黑魔法,教你如何在你執行任意 Python 代碼前,讓 Python 解釋器自動念上一段平安經,保佑代碼不出 BUG 。程序員

本技巧已經收錄於最新版的 《Python黑魔法指南》v2.0,能夠前往 Github 閱讀:https://github.com/iswbm/magic-python)github

作好心理準備了嘛?shell

明哥要開始做妖了,噢不,是開始唸經了。編程

感謝佛祖保佑,Everything is ok,No bugs in the code.c#

你必定很想知道這是如何實現的吧?bash

若是你對 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 代碼前,自動召喚佛祖念上一段平安經,但願本篇分享能對你有用。


推薦閱讀