使python文件像Shell腳本一樣直接執(zhí)行

比如我們有一個(gè)python文件temp.py。

print(1+1)

通常我們這樣執(zhí)行它python3 temp.py
假如有一個(gè)shell腳本temp.sh,它有執(zhí)行權(quán)限后可以用./temp.sh來執(zhí)行。

如何使./temp.py也能正確執(zhí)行呢?

#!/usr/bin/env python3
print(1+1)

在文件頭部加上一行注釋,再用chmod +x temp.py給文件執(zhí)行權(quán)限就可以了。
這樣我們運(yùn)行./temp.py就如同運(yùn)行/usr/bin/env python3 temp.py

那/usr/bin/env python3是什么意思呢?

/usr/bin/env是系統(tǒng)自帶的一個(gè)程序,它的作用是在當(dāng)前用戶的執(zhí)行環(huán)境中,通常也就是PATH指定的目錄中,尋找指定的程序,一旦找到第一個(gè)就停止尋找。所以執(zhí)行./temp.py后,/usr/bin/env在PATH中尋找名字為python3的程序,找到后就用它來運(yùn)行temp.py這個(gè)文件。

如何明確指定python程序位置?

#!/usr/bin/python3
print(1+1)

這樣就直接用/usr/bin/python3這個(gè)程序來執(zhí)行這個(gè)文件,不用事先在環(huán)境變量中搜尋python的位置了。
而在命令行中直接運(yùn)行python3 temp.py與第一種寫法效果相同。
直接運(yùn)行/usr/bin/python3 temp.py與第二種寫法相同。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容