日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python env_#!/usr/bin/env python 有什么用?

發布時間:2023/12/3 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python env_#!/usr/bin/env python 有什么用? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們經常會在別人的腳本或者項目的入口文件里看到第一行是下面這樣

#!/usr/bin/python

或者這樣

#!/usr/bin/env python

那么他們有什么用呢?

要理解它,得把這一行語句拆成兩部分。

第一部分是 #!

第二部分是 /usr/bin/python 或者 /usr/bin/env python

關于 #! 這個符號,其實它是有名字的,叫做 Shebang 或者Sha-bang ,有的翻譯組將它譯作 釋伴,即“解釋伴隨行”的簡稱,同時又是Shebang的音譯。

Shebang通常出現在類Unix系統的腳本中第一行,作為前兩個字符。在Shebang之后,可以有一個或數個空白字符,后接解釋器的絕對路徑,用于指明執行這個腳本文件的解釋器。

那么加和不加有什么區別呢

如果不加 #! 的話,你每次執行這個腳本時,都得這樣 python xx.py ,

有沒有一種方式?可以省去每次都加 python 呢?

當然有,你可以文件頭里加上#!/usr/bin/python ,那么當這個文件有可執行權限 時,只直接寫這個腳本文件,就像下面這

明白了這個后,再來看看 !/usr/bin/env python 這個 又是什么意思 ?

當我執行 env python 時,自動進入了 python console 的模式。

這是為什么?和 直接執行 python 好像沒什么區別呀

當你執行 env python 時,它其實會去 env | grep PATH 里(也就是 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin )這幾個路徑里去依次查找名為python的可執行文件。

找到一個就直接執行,上面我們的 python 路徑是在 /usr/bin/python 里,在 PATH 列表里倒數第二個目錄下,所以當我在 /usr/local/sbin 下創建一個名字也為 python 的可執行文件時,就會執行 /usr/bin/python 了。

具體演示過程,你可以看下面。

那么對于這兩者,我們應該使用哪個呢?

個人感覺應該優先使用 #!/usr/bin/env python,因為不是所有的機器的 python 解釋器都是 /usr/bin/python 。

總結

以上是生活随笔為你收集整理的python env_#!/usr/bin/env python 有什么用?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。