python中#!/usr/bin/python與#!/usr/bin/env python的區別

目的是在運行python腳本的時候告訴操作系統我們要用python解釋器去運行py腳本

所以我們在第一句往往會寫如下兩句中的其中一句:


#!/usr/bin/python

>#!/usr/bin/env python

就是說在沒有在執行程序時指出用什麼程序運行py腳本時,系統會去調用python程序來執行。

舉個簡單的例子: 我們在linux環境下寫一個最簡單的python腳本 vim hello.py

#!/usr/bin/python     

或者#!/usr/bin/env python

print ‘ helloworld! 

編寫完成後正常我們在會輸入命令: python hello.py來執行這個腳本,但是因爲有了第一行的聲明,所以我們只要是給這個py腳本添加可執行權限,那我們就可以直接 ./hellp.py 來執行了。

  在這裏還是要推薦下我自己建的Python開發學習羣:725479218,羣裏都是學Python開發的,如果你正在學習Python ,小編歡迎你加入,大家都是軟件開發黨,不定期分享乾貨(只有Python軟件開發相關的),包括我自己整理的一份2018最新的Python進階資料和高級開發教程,歡迎進階中和進想深入Python的小夥伴

#!/usr/bin/python與#!/usr/bin/env python的區別是?

明白了寫第一句語句的初衷後,那就該分析一下兩者的區別了:

.#!/usr/bin/python的意思是說去/usr/bin/目錄下找python去執行

.#!/usr/bin/env python 的意思是在#!/usr/bin/env中找到python的安裝路徑,然後去執行它,這個可執行的python路徑不管是不是在/usr/bin下,用法比較靈活,而#!/usr/bin/python就寫成了絕對路徑,只能去/usr/bin下找。

結論:推薦使用 #!/usr/bin/env python

另外解決中文輸出的問題,應該在第二行制定編碼位utf-8,這樣就解決了中文報錯的問題

即,在py腳本開頭我們應該寫如下兩句語句來指定運行環境和編碼:


#!/usr/bin/env python

#-*-coding:utf-8-*-
發佈了131 篇原創文章 · 獲贊 123 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章